web-dev-qa-db-ja.com

GRUB=パーティションテーブルなしのext4ディスク全体にインストールする方法は?

現在、ディスク全体を持っています/dev/sda ext4としてフォーマットされ、Gentooがインストールされています。

(MBRはなく、パーティションもありません。)

しかし、最後にGRUBをインストールすることはできません。GRUBはMBRに書き込む必要があるためです。

# grub-install /dev/sda
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
The file /boot/grub/stage1 not read correctly. 

grubも機能しません。

# grub
grub> root (hd0)
 Filesystem type unknown, using whole disk

grub> setup (hd0)
 Error 17: Cannot mount selected partition

GRUBをMBRなしで/ dev/sdaにインストールする方法はありますか?

追伸/bootディレクトリとgrub.confファイル:

# tree /boot 
/boot
|-- boot -> .
|-- grub
|   |-- default
|   |-- device.map
|   |-- e2fs_stage1_5
|   |-- fat_stage1_5
|   |-- ffs_stage1_5
|   |-- grub.conf
|   |-- iso9660_stage1_5
|   |-- jfs_stage1_5
|   |-- menu.lst -> grub.conf
|   |-- minix_stage1_5
|   |-- reiserfs_stage1_5
|   |-- splash.xpm.gz
|   |-- stage1
|   |-- stage2
|   |-- stage2_eltorito
|   |-- ufs2_stage1_5
|   |-- vstafs_stage1_5
|   `-- xfs_stage1_5
`-- kernel-2.6.36-gentoo-r5

# cat /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0)/boot/grub/splash.xpm.gz

title Gentoo Linux 2.6.36-r5
root (hd0)
kernel /boot/kernel-2.6.36-gentoo-r5 root=/dev/sda

title Gentoo Linux 2.6.36-r5 Rescue
kernel /boot/kernel-2.6.36-gentoo-r5 root=/dev/sda init=/bin/bb

# cat /boot/grub/devices
(fd0)   /dev/fd0
(hd0)   /dev/sda
15
Xiè Jìléi

BIOSはディスクの最初のセクター(512バイト)を読み取り、そこに分岐します。ディスクにPCスタイルのパーティションが含まれている場合、最初のセクターにもパーティションテーブルが含まれています。ディスクに単一のファイルシステムが含まれている場合、最初のセクターには、ファイルシステムがそこに置くことを決定したものすべてが含まれます。 ext [234](および他の多くのファイルシステム)の場合、最初のセクター¹はブートローダー用に予約されています(最初はゼロに設定されています)。 Grubは/dev/sdaにインストールできます。

そうは言っても、パーティションテーブルが含まれていないデバイスからの起動を拒否するBIOSがときどきあります。 (ただし、パーティションテーブルが含まれている場合、一部の外部デバイスからの起動を拒否するBIOSもあります。)これらのBIOSのいずれかを使用している場合は、パーティションテーブルを作成する必要があります。

パーティションテーブルが必要ない場合でも、推奨されます。数キロバイトを無駄にするだけで、Linux以外の多くのOSで可読性が得られ、共同システム管理者にとって驚きが少なくなります。 Windowsを実行しているマシンに誤ってディスクを接続した場合、パーティションテーブルが表示されない場合はディスクを再フォーマットするように勧められることがあります。認識できないパーティションタイプ。

¹ 実際、最初のブロックは、mkfsに渡されるオプションに応じて、ブロックが1kB、2kB、または4kBになると思います。

GRUBをMBRに書き込む必要があることは必須ではありません。パーティションブートセクターにインストールして、Windows 7ローダーなどのMBRからの他のブートローダーにロードさせることができます。

http://www.linuxselfhelp.com/gnu/grub/html_chapter/grub_3.html

2
Madhur Ahuja

ほぼすべてがパーティションテーブルを期待しています。再インストールし、少なくとも/ boot、swap、および/ rootパーティションを持つという推奨ガイドラインに従う必要があると思います。あなたのスワップはどこですか?

0
Keith