web-dev-qa-db-ja.com

物理ディスクの未加工のDDイメージファイルからパーティションをマウントする

生のHDDイメージ(/ dev/sdb)から取得したDDイメージがあります。このイメージファイルには、マウントする必要のあるXFSファイルシステムが含まれています。ディスク(2.6TB imgファイル)に復元するには大きすぎるので、ループバックを使用してマウントしたいと思います。

ただし、パーティションテーブルが問題になります。 partedとfdisk -luの両方を使用して、パーティションのオフセットを特定しようとしました。 Partedは「認識できないディスクラベル」を返し、fdisk -luは空のパーティションテーブルを表示します。

-oループでマウントできるように、パーティションの開始位置を見つけることをどのようにすすめますか

11
coderego

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
6
MikeyB

testdisk がパーティションラベルを見つけることができるかどうかを確認します。 kpartxが最初にそれを見つけて有効にできるかどうか試してみることができます。

# kpartx -a -v image

また、画像のコピーでこれら2つのことを試すことを忘れないでください。テストでバックアップイメージを破壊したくありません。

3
coredump

sfdiskを使用して、イメージのパーティションテーブルをダンプできます。 *fdiskバリアントのどれでもそうするでしょうが、いくつかは他よりも不平を言います。これにより、パーティションのオフセットを計算できます。

1
BillThor

実行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ドライブを「原子的に」交換できますか?

0
ThorstenS