GRUB2(UEFI)のコンソールからの起動メモ

たまにやる必要があったりするのでメモです。

まずは。。。 pagerを1に設定することで、出力内容が多い時に(catとかで)moreとlessみたいに1ページ毎にページ送り出来ます。これないと辛い。。

f:id:masami256:20180502235845j:plain

setコマンドで引数渡さなければ現在の設定が見れます。これで今の設定を確認。

f:id:masami256:20180502235919j:plain

ここで知りたいのはrootがどこかというとこです。このPCだと(hd1,gpt1)。

f:id:masami256:20180502235928j:plain

このrootは/bootではなくて/boo/efiです。

/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)

よって、ls (hd1,gpt1)/をするとこうなります。efiディレクトリとかがあります。 f:id:masami256:20180503000058j:plain

Linux上で見るとこうなってます。

masami@saga:~$ sudo ls -al /boot/efi/
total 44
drwx------. 3 root root 16384 Jan  1  1970 .
dr-xr-xr-x. 5 root root  4096 May  3 01:57 ..
drwx------. 4 root root  4096 Mar  7 04:23 EFI
-rwx------. 1 root root 12288 Jan  1  1980 FSCK0000.REC
-rwx------. 1 root root  8192 Jan  1  1980 FSCK0001.REC

grubの設定ファイルであるgrub.cfgはfedoraなら/boot/efi/EFI/fedora/grub.cfgにあるので、grubでのpathは(hd1,gpt1)/efl/fedora/grub.cfgとなります。

f:id:masami256:20180503000205j:plain

次にLinuxカーネルコマンドラインに渡すroot=オプションの値を調べます。fedoraはrootには/dev/sda2とかのデバイスファイル名を渡さずにroot=UUID=uuidの文字列という感じでオプション渡しますが、これを入力するのは大変なのでデバイスファイル名で渡します。 まずはgrub.cfgをcatで開いて、grubのsetコマンドでrootを指定しているところを調べます。(hd0,gpt2)がsetされてます。

f:id:masami256:20180503000253j:plain

Linuxカーネルの設定はbios版はlinuxでしたが、uefi版はlinuxefiです。initrdのほうもefiが後ろに付きます。/bootは(hd1,gpt2)/だったので、(hd1,gpt2)/vmlinuz〜のようになります。

f:id:masami256:20180503214622j:plain

あとはbootコマンドで起動します。

( ´ー`)フゥー...

まんがでわかるLinux シス管系女子(日経BP Next ICT選書)

まんがでわかるLinux シス管系女子(日経BP Next ICT選書)