領域テーブル項目がディスクの順序と一致しません
fdiskを使うと"領域テーブル項目がディスクの順序と一致しません"と表示される事が気になっていたが、Multiple Boot Managerを利用するとパーディションテーブルの順序を入れ替えることが出来る。(ネタ元はNOBUSAN'S SQUAREさん)
# []fdisk -l /dev/sda[][]Disk /dev/sda: 80.0 GB, 80026361856 bytes[]
[]255 heads, 63 sectors/track, 9729 cylinders[]
[]Units = シリンダ数 of 16065 * 512 = 8225280 bytes[]
[]Disk identifier: 0x1ecfb89b[][]デバイス Boot Start End Blocks Id System[]
[]/dev/sda1 1 10 80293+ de Dell ユーティリティ[]
[]/dev/sda2 11 2432 19454715 7 HPFS/NTFS[]
[]/dev/sda3 2449 9729 58484632+ f W95 Ext'd (LBA)[]
[]/dev/sda4 * 2433 2448 128520 83 Linux[]
[]/dev/sda5 2449 4181 13920259+ 7 HPFS/NTFS[]
[]/dev/sda6 4182 5711 12289693+ 83 Linux[]
...省略...
[]領域テーブル項目がディスクの順序と一致しません[]
作業の流れ
- http://elm-chan.org/fsw/mbm/mbm.htmlから"MBM R0.38フルセット"をダウンロード
- 解凍して中身を取り出す。
- MBM038.144をフロッピーにコピー
# []dd if=MBM038.144 of=/dev/floppy-sdb[] ←ここは環境に応じて
- 再起動し、F12連打でフロッピードライブから起動
- Multiple Boot Managerでパーティションテーブルを書き換える
- めでたく起動しなくなるのでLive USBで起動しGRUBの再インストール
# []fdisk -l /dev/[][]sda[][]Disk /dev/sda: 80.0 GB, 80026361856 bytes[]
[]255 heads, 63 sectors/track, 9729 cylinders[]
[]Units = シリンダ数 of 16065 * 512 = 8225280 bytes[]
[]Disk identifier: 0x1ecfb89b[][]デバイス Boot Start End Blocks Id System[]
[]/dev/sda1 1 10 80293+ de Dell ユーティリティ[]
[]/dev/sda2 11 2432 19454715 7 HPFS/NTFS[]
[]/dev/sda3 * 2433 2448 128520 83 Linux[]
[]/dev/sda4 2449 9729 58484632+ f W95 Ext'd (LBA)[]
[]/dev/sda5 2449 4181 13920259+ 7 HPFS/NTFS[]
[]/dev/sda6 4182 5711 12289693+ 83 Linux[]
...省略...
問題のメッセージが表示されなくなった!# []mkdir /mnt/boot[]
# []mount /dev/[]sda3[] /mnt/boot[]
# []cp -a /mnt/boot [][]/where/you/want/to/backup[]
# []grub-install --root-directory=/mnt /dev/sda[]
# []vim /mnt/boot/grub/menu.lst[][] ←今回のケースでは(hd0,3)を(hd0,2)に書き換え。[]
- 再起動して正常に起動出きることを確認。
2008/06/06追記
fdiskでもパーティションテーブルの順序を入れ替えることができる。領域テーブル項目がディスクの順序と一致しません - fdisk編