2022年8月29日月曜日

32bitなUEFIを持つPCでArchがブートしない時

どうも、華凜です。
UEFIが32bitだけどOSは64bitなPC(ThinkPad 10とか)にArchLinuxを入れたは良いけど、GRUBが立ち上がらずブートしない人が多分これを見ているのでしょう。

ここには私が「ThinkPad 10にArchLinuxを入れる際にGRUBがブートせず、色々試行錯誤して上手くいったもの」を書いています。
なので他の機種で上手く行くかは分かりません。ドが付く程の初心者ですので質問されても分かりません。
それを御理解の上で見てください。


まずはArchの公式サイトよりArchのISOをダウンロードしてUSBメモリに焼きます。自分はRufusでGPTモードのUEFI(CSM無効)で焼きました。
ちなみにMBRで焼いたらカーネルパニックを起こしました。UEFIでブートしているので当たり前ですね。


次は「bootia32.efi」を用意します。ArchのISO内に既にありますが、自分が試した限りではこれは使えませんでした。
ファイルは有志が作って公開している物を使います。以下からダウンロードします。
もしgithubで見つからなければdebianの32bit版netinstイメージ内にある「bootia32.cfg」でも代用できるらしいです。試していないので使えるかは知りません。


次にEFIフォルダを開いて中にあるBOOTフォルダも開き、中に入っている「BOOTIA32.EFIを」ダウンロードした「bootia32.efi」に置き換えます。
ついでに同じフォルダにある「grub.cfg」をデスクトップ等にコピーしましょう。
後で中に記載されている文章を使います。


書き換えたらThinkPad 10に挿してF12を連打、USBから立ち上げましょう。もしF12で起動メニューが出ないなら音量の上を押しつつ電源を入れましょう。BIOSに入れるのでStartupから起動順序を変えればOKです。
ちなみに起動メニューは出るように設定を変えておきましょう。
今回入れるArchのGRUBは、Windows Boot Managerを起動の選択肢に追加していないのでGRUBからは立ち上げできません。
ごにょごにょすれば追加できるらしいですが、それはググってね。


USBから起動すると「GRUB >」で停止していればOKです。


まずはディスクの確認。下記のコマンドを打ちましょう。

ls(小文字でエルとエスです)

そうするとhd0等色々と出てきます。今繋がっているストレージを表示しています。
USBメモリはhd(x)とhd(x).gpt(y)とかで出てきてるはず。(x)や(y)は任意の数字が入ってます。
ここの見分け方?調べるしか無いね!


USBメモリがどの数字か分かったら下記のコマンドを打ちます。0や1は適時置き換えてください。

set root=(hd0,gpt1)

カッコはShift+9or10、イコールは”へ”のキーだぞ。ハイフンの横。管理人はネットで探した。


次のコマンドは先程デスクトップにコピーしたファイルを見ます。
メモ帳やEmEditorで開こう。
Menu entriesの下にmenuentryから始まるものがあるはずです。
そのもう少し下にLinuxとinitrdというのがあるはず、それを入力しましょう。
何も無ければGRUB >しか出ないはずです。


最後は下の文字を入力後にEnterです。

boot

これでarchのインストーラーが立ち上がるはずです。
後は普通にインストールしましょう。

GRUBのインストールまで来たら必ずx86_64と書いてある部分をi386に変えて下さい。変えないと64bit用で構成されて起動しません。



最後に私が入力したコマンドを貼り付けておきます。
2022/08/05のArchのインストーラーを使い、USBメモリがhd0,gpt1だと仮定。
USBメモリ名はRufusで書き込んだ際のもの(ARCH_202208)です。
ご使用の環境に応じてUSBメモリ名やhd、gptの後の数字は変えましょう。
(GRUB >は無視してください。分かりやすいように付けているだけです。)

GRUB >set root=(hd0,gpt1)

GRUB >linux /arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisolabel=ARCH_202208

GRUB >initrd /arch/boot/intel-ucode.img /arch/boot/amd-ucode.img /arch/boot/x86_64/initramfs-linux.img

GRUB >boot


※2022年12月20日 一部修正

0 件のコメント:

コメントを投稿