領域テーブル項目がディスクの順序と一致しません


# []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[]
...省略...
[]領域テーブル項目がディスクの順序と一致しません[]

fdiskを使うと"領域テーブル項目がディスクの順序と一致しません"と表示される事が気になっていたが、Multiple Boot Managerを利用するとパーディションテーブルの順序を入れ替えることが出来る。(ネタ元はNOBUSAN'S SQUAREさん
この操作によってパーテションがまるごと失われる可能性があります。必ずバックアップを取って元に戻せるようにしてください。
必要な物


作業の流れ


# []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[]

  • 必要に応じてGrubのmenu.lstとWindowsのboot.iniを編集


# []vim /mnt/boot/grub/menu.lst[][] ←今回のケースでは(hd0,3)を(hd0,2)に書き換え。[]

  • 再起動して正常に起動出きることを確認。

以上、ログを取っていないので正確ではないかもしれない。

2008/06/06追記

fdiskでもパーティションテーブルの順序を入れ替えることができる。領域テーブル項目がディスクの順序と一致しません - fdisk編