Skip to content

Instantly share code, notes, and snippets.

@shino
Created August 26, 2022 01:57
Show Gist options
  • Save shino/0a6dec0f0eff01c9b834b86ae86b5f46 to your computer and use it in GitHub Desktop.
Save shino/0a6dec0f0eff01c9b834b86ae86b5f46 to your computer and use it in GitHub Desktop.

grub キレイにする

  • 前提環境
    • Mac
      • ISO 入り USB メモリ作成
    • DELL XPS
      • ArchLinux

準備1: ISO 入り USB メモリ作成

  • System Rescue ISO イメージをダウンロード
  • 以下は https://blog.mothule.com/linux/linux-write-iso-to-usb-flash-drive を参考にしている
  • デバイスのパス確認
    • diskutil list
  • デバイスをクリアしてアンマウント
    • diskutil eraseDisk MS-DOS UNTITLED </dev/diskN>
    • diskutil unmountDisk </dev/diskN>
  • イメージ書き込み
    • sudo dd if=~/Downloads/<file-of-system-rescue>.iso of=</dev/diskN> bs=1048576
    • block サイズはもちょっと大きめでも良いかもしれない
  • ディスクを抜く
    • diskutil eject </dev/diskN>

準備2: XPS の作業環境

  • XPS に USB メモリを刺す
    • Type-C の口ではブートできなかった、左側の Type-A の口はいけた。右側は試していない。
  • 電源ボタンポチ
  • F12 ポチポチポチ…
  • ブートデバイス選択がでるので USB メモリを選択
    • secure boot 切ってたけど、もしかしたら効いてた? 関係ない可能性もある
  • デフォルトの設定で Linux 起動
  • 文字が小さすぎて死ぬので font 設定 (TODO: フォントは適当に選ぶ? 選択肢の一覧は?)
  • 必要ならキーマップ設定 (今回は省略)
    • loadkeys jp106

準備3: Arch 環境に入る

  • デバイス名確認
    • fdisk -l
    • Arch 環境っぽいやつを探してメモる (今回は /dev/nvme0n1p7 だった)
    • EFI のパーティションもメモる (今回は /dev/nvme0n1p1 だった)
  • Arch 環境のパーティションは LUKS なので暗号化を解除してマウントする
    • sudo /sbin/cryptsetup open /dev/nvme0n1p7 backup
      • パスワード入れる
    • sudo mount /dev/mapper/backup /mnt
  • EFI もマウントする
    • sudo mount /dev/nvme0n1p7 /mnt/boot/efi
  • Arch に入る
    • arch-chroot /mnt /bin/bash

Grub インストールと設定

  • インストール
    • grub-install –target=x86_64-efi –efi-directory=/boot/efi –bootloader-id=arch_grub
    • EFI パーティションをマウントしてないとエラーになる
  • 設定を生成する
    • grub-mkconfig -o /boot/efi/grub/grub.cfg
    • 今回はなんかのバグなのか LANG=C を頭につけてで生成した

やり残し

  • Grub メニューに Windows 起動のメニューが出ない
    • Windows のパーティションをマウントしてなかったからか?
    • 困らないので放置…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment