USBメモリからのブートその2

フロッピー形式のGRUBの作り方

# dd if=/boot/grub/stage1 of=/dev/sda bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0207237 s, 24.7 kB/s
# dd if=/boot/grub/stage2 of=/dev/sda bs=512 seek=1
205+1 records in
205+1 records out
105404 bytes (105 kB) copied, 0.487875 s, 216 kB/s

これでとりあえずgrubのshellまではいけるのだった。
(grub-0.97)

追記
この方法はフロッピー形式というよりもGRUB専用ディスクを生成することになる。
Grubのshellは起動するが後続ブロックにファイルシステムが無い。

ほんもののFDドライブなら

# grub
grub> root (fd0)
grub> setup (fd0)

でいけるようだが、
usbに対して同様にするとsetupの時点で文句を言われる。

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

grub> setup (hd1)

Error 17: Cannot mount selected partition

ディスク全体がfatだとgrubに認識させる方法があるとよいのだが。
Linux起動後はあくまでusbはハードディスク扱いになっているのかもしれない。
実際に、
/dev/sda
とかscsiドライブ扱だし。

HDD形式(パーティションテーブル有り)だと

# grub
grub> root (hd1,0)
grub> setup (hd1)

hd1の第0パーティションにstage2などの必要ファイルを格納して
hd1のMBRにstage1をインストールする。