お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#26 2010-05-17 16:14:42

weyk
メンバ
登録日: 2009-04-03

Re: USBメモリを使った起動ディスクの作り方(grub2 の場合)

hir0さん による投稿:

初期化ファイル「initrd」を読み込みます。

(誤)初期化
(正)起動の途中に一時的に/として使用されるファイルで
(誤)読み込みます
(正)前出のrootの値を起点としたinitrd...へのpathを指定します。
initrd...を読み込むのはvmlinuz...です。

intrd...を、格納されているメディア(HDDとかUSB-Stickとか)から、メモリ上に読み込むのが、ローダ(GRUBやGRUB2)の仕事で、その後、圧縮状態の展開までを行ったうえで、カーネル(vmlinuz)からは、メモリ上に展開された状態で渡されてメモリ上のファイルしシステムとしてマウントされる・・・と、認識しています。
なので、initrd...のファイルそのものを認識して読み込める必要があるのは、GRUB/GRUB2側 という認識です。カーネル側(vmlinuz...)は、そのファイルが読める位置にある必要は無い と思っています。
# initrdが無い場合にどうなるのかは気にしたことが無いので、動作を認識していません。

オフライン

 

#27 2010-05-17 21:24:59

hir0
メンバ
登録日: 2008-09-28

Re: USBメモリを使った起動ディスクの作り方(grub2 の場合)

なんだかwikiみたい? こんな感じでしょうか。

[root]
これは旧GRUBでGRUB2では [set]のようです。スミマセン。
root (hd0,1)  ->   set root=(hd0,1)   
GRUBのカレントデバイスを指定する。
/boot/grub のあるデバイスです。 最初に指定します。

(誤)場所
(正)デバイス

[linux]
起動するカーネルのディレクトリと名称と起動させるファイルシステムがあるデバイスファイル名を指定します。
旧GRUBの[kernel]コマンドと同じです。 [ro][quiet][splash]等の起動オプションもこの行に書き加えます。
root=/ デバイスファイル名をUUIDに変更することも出来ます。 root=UUID=”IDナンバー”

何のデバイスファイルか分かりませんね。
前出のrootの値を起点としたvmlinuz...へのpathと起動するルートファイルシステムが有るデバイスを指定します。

・ここまではjackalopeさんの指摘で訂正しましたが、[initrd]に関しては別の指摘もでたので書き方を変えます。
「初期化ファイル「initrd」を読み込みます。」は振る舞いの説明になってしまっていますね。

[initrd]
「initrd」へのパスを指定します

(誤)初期化
(正)起動の途中に一時的に/として使用されるファイルで
(誤)読み込みます
(正)前出のrootの値を起点としたinitrd...へのpathを指定します。
initrd...を読み込むのはvmlinuz...です。

hir0さん による投稿:

(次は、もう一つの細かい質問です。
1行目は、一旦、root を、(一般的な呼称である)パーティション名 hd0,1 に指定して、
そのパーティションを2行目で、Ubuntu の呼称である sda1 に置き換えているという意味ですか?)

はい、そうです。

違いますよ。
1行目のrootはGrub利用する値、2行目のrootはカーネルが利用する値です。
bootが/と別パーティションの場合を考えて下さい。

オフライン

 

#28 2010-05-17 21:40:05

hir0
メンバ
登録日: 2008-09-28

Re: USBメモリを使った起動ディスクの作り方(grub2 の場合)

最後の引用符以下は消し忘れです。

オフライン

 

Board footer

Powered by FluxBB