生のHDDイメージ(/ dev/sdb)から取得したDDイメージがあります。このイメージファイルには、マウントする必要のあるXFSファイルシステムが含まれています。ディスク(2.6TB imgファイル)に復元するには大きすぎるので、ループバックを使用してマウントしたいと思います。
ただし、パーティションテーブルが問題になります。 partedとfdisk -luの両方を使用して、パーティションのオフセットを特定しようとしました。 Partedは「認識できないディスクラベル」を返し、fdisk -luは空のパーティションテーブルを表示します。
-oループでマウントできるように、パーティションの開始位置を見つけることをどのようにすすめますか
kpartx
コマンドは、パーティションが存在する場所を検出し、適切なオフセットでループデバイスをセットアップするためのすべての作業を実行します。
# kpartx -l /dev/ganderData/example-sysdisk
ganderData-example--sysdisk-1 : 0 497952 /dev/ganderData/example-sysdisk 63
ganderData-example--sysdisk-2 : 0 62412525 /dev/ganderData/example-sysdisk 498015
# kpartx -a /dev/ganderData/example-sysdisk
# mount /dev/mapper/ganderData-example--sysdisk-2 /mnt/tmp
testdisk がパーティションラベルを見つけることができるかどうかを確認します。 kpartx
が最初にそれを見つけて有効にできるかどうか試してみることができます。
# kpartx -a -v image
また、画像のコピーでこれら2つのことを試すことを忘れないでください。テストでバックアップイメージを破壊したくありません。
sfdisk
を使用して、イメージのパーティションテーブルをダンプできます。 *fdisk
バリアントのどれでもそうするでしょうが、いくつかは他よりも不平を言います。これにより、パーティションのオフセットを計算できます。
実行file - </dev/sdb
これは、PCパーティションシステムを備えたディスクのイメージではないようなので、実際にディスク上にあるものを確認します。
あなたのコメントを考えると、おそらくLVM物理ボリュームがあります。したがって、最初にブロックデバイスをlosetup
に関連付け、次にループデバイスを物理ボリュームとして登録してそこから続行します。
losetup -fv /path/to/image/file
pvs # will show /dev/loop99 (for some value of 99) as a physical volume
vgs # will show the VG(s) on /dev/loop99
lvs # will show the LV(s) on the VG(s) on /dev/loop99
mount /dev/mapper/groupname-volumename /mnt
…
vgchange -an groupname
losetup -u /dev/loop99
kpartxが2回言及されたので、それを使用する必要があります!この投稿では、kpartx&Co。の使用経験を紹介します。 Linuxソフトウェアraidでraid5ドライブを「原子的に」交換できますか?