Day After Day
tsurezure naru mamani...
ANOTHER DECADE

from 2021 when it's begining after/with CORONA Virus.

Ubuntu の GRUB がすっ飛んだ!!

9月
13
2025
Back
HOME

		
	GNU GRUB  version 2.12

  Minimal BASH-like line editing
  is supported. For the first
  word, TAB lists possible command
  commpletions. Anywhere else TAB
  lists possible device or file
  completions. To enable less(1)-
  like paging, "set pager=1". ESC
  at any time exits.
 
 grub> _
 
		

先日から挑戦中の「親GRUB」作成中、何らかの理由で編集に使用していた Ubuntu 自身の GRUB を上書きしてしまった。

この画像は、一応立ち上げ時 GRUB が表示されているが内容が無い。つまり、状況把握 ② の「残っていても内容が無い」に相当する。



この記事は ChatGPT の回答を元に、個別の案件に特化したリカバリーメモである。

AlmaLinux からUbuntu の状況を確認する


① ubuntu フォルダが残っていて grub.cfg も生きているケース



② GRUB を新たに生成し直す必要が有るケース


  1. マウンティングポイントを確認する

  2. $ sudo lvscan
    ACTIVE      '/dev/almalinux/swap' [7.79 GiB] inherit
    ACTIVE      '/dev/almalinux/home' [<386.38 GiB] inherit
    ACTIVE      '/dev/almalinux/root' [70.00 GiB] inherit
    ACTIVE      '/dev/ubuntu-vg/ubuntu-lv' [<116.19 GiB] inherit
    ここから、Ubuntu のルートは /dev/ubuntu-vg/ubuntu-lv であるということが分かる。
    INACTIVE になっていたらアクティブ化する

    $ sudo bgchange -ay

  3. Ubuntu のルート(/)を AlmaLinux にマウントする

  4. $ sudo umount /mnt/ubuntu      # 状況確認時のマウントを解除
    $ sudo mount /dev/ubuntu-vg/ubuntu-lv /mnt/ubuntu
    $ ls /mnt/ubuntu
     bin               cdrom home              lib64      mnt  root sbin.usr-is-merged swap.img usr
     bin.usr-is-merged dev   lib               lost+found opt  run  snap               sys      var
     boot              etc   lib.usr-is-merged media      proc sbin srv                tmp
    赤字で示したフォルダについて後ほどマウントする。

  5. 上のルートに有る boot に EFI パーティションをマウント

  6. もし EFIパーティションがどこか分からないときは /etc/fstab を見てみる。(必要なマウンティングポイントがすべて記載されている)

    $ cat /mnt/ubuntu/etc/fstab
     # / was on /dev/ubuntu-vg/ubuntu-lv during curtin installation
     /dev/disk/by-id/dm-uuid-LVM-3eFb4wsMnjlccd1wF0ynrgawDt1k6tSkrfb4juE6zSDZ3s6QUFcdoKat0EVOApBb / ext4 defaults 0 1
     # /boot was on /dev/sdb2 during curtin installation
     /dev/disk/by-uuid/646f48ba-eddf-4e2f-a6c5-35fd0aad2d50 /boot ext4 defaults 0 1
     # /boot/efi was on /dev/sdb1 during curtin installation
     /dev/disk/by-uuid/EC8D-DD0F /boot/efi vfat defaults 0 1 
     
    $ sudo mount /dev/sdb2 /mnt/ubuntu/boot
    $ sudo mount /dev/sdb1 /mnt/ubuntu/boot/efi
     
    $ sudo mount --bind /dev  /mnt/ubuntu/dev
    $ sudo mount --bind /proc /mnt/ubuntu/proc
    $ sudo mount --bind /sys  /mnt/ubuntu/sys
    $ sudo mount --bind /run  /mnt/ubuntu/run
    
    $ sudo mount -t efivarfs efivarfs /mnt/ubuntu/sys/firmware/efi/efivars

  7. ここまで準備が出来たらいよいよ新しい GRUB を生成する

  8. $ sudo chroot /mnt/ubuntu       # ルートディレクトリーで root になる
    
    # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Ubuntu
    # update-grub
    
    # nano /boot/grub/grub.cfg      # 新しい GRUB が生成されているか確認
    # exit
    $

  9. 各フォルダをアンマウントして再起動

  10. $ cd
    $ sudo umount /mnt/ubuntu/sys/firmware/efi/efivars
    $ sudo umount /mnt/ubuntu/dev
    $ sudo umount /mnt/ubuntu/proc
    $ sudo umount /mnt/ubuntu/sys
    $ sudo umount /mnt/ubuntu/run
    $ sudo umount /mnt/ubuntu/boot/efi
    $ sudo umount /mnt/ubuntu/boot
    $ sudo umount /mnt/ubuntu
    
    $ sudo reboot
    


Back
HOME