ddを使用してHDイメージを作成しましたが、grubがインストールされている間にイメージファイルをマウントする方法を見つけようとしますが、grubヘッダーのため、mountはそれをext4パーティションとして認識しません。
file -k disk.img を実行すると、次のような結果が出るので、そのファイルがあることがわかります。
disk.img: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, 1st sector stage2 0x3a883d7, code offset 0x48\012- Linux rev 1.0 ext4 filesystem data, UUID=6d1e45d1-8fac-4995-839b-fa5691a898ad (needs journal recovery) (errors) (extents) (large files) DOS executable (COM), boot code
パーティションをロードするオフセットがどこにあるかをインストールに通知できるように、パーティションの先頭を見つける方法についてのアイデアを持っている人はいますか?
答え1
Partedはファイルからディスクイメージを読み取り、パーティションテーブルを解釈できる必要があります。だから使用
parted -s disk.img unit s print
私の(テスト)ディスクイメージの場合は、次のものがあります。
# parted -s /root/sdd.img unit s print
Model: (file)
Disk /root/sdd.img: 16384s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 5s 7812s 7808s primary type=83
2 7872s 16383s 8512s primary type=83
各パーティションが開始および終了するセクタを確認できます。
答え2
私はこの問題がgrubと全く関係がないことを知りました。このイメージにはバグがあり、修正するにはe2fsckを実行する必要があります。