私はMacBook Airを購入しました。 Ubuntuを使用してMacオペレーティングシステムをデュアルブートします。 Macでマルチブートを行うのは今回が初めてです。別のUbuntuで3回起動しました。 3番目のディストリビューションを削除した後、いくつかのグラップ問題が発生しました。
まず、次のように分割します。
$ lsblk
sda
sda1 200M /boot/efi
sda2 47.3GB # Mac os
sda3 620MB # Mac rescue
sda4 2GB # Swap partition
sda5 50GB # Ubuntu 1
sda6 50GB # Ubuntu 2
sda10 100GB # ext4 file system
sda5
完了したら、Ubuntuを直接起動します。本当に良いです。後でsda6
テストに別のditroを使用したかったので、これが簡単にできることを確認したいので、別のUbuntuをインストールしました。 Ubuntuのバージョンは、他のパーティションにインストールしたバージョンとまったく同じです。 2番目のUbuntuをインストールした後に再起動し、grub画面で2つのUbuntuのいずれかを選択するように求められました。整えられた。その後、2番目のUbuntuは役に立たなかったので、以下をsda6
使用して削除しましたgdisk
。
$ gdisk /dev/sda
> d # delete partition
> 6 # delete partition 6
> w # write changes
> Y # confirmation of writing changes.
> q # quit gdisk
$ lsblk
sda
sda1 200M /boot/efi
sda2 47.3GB # Mac os
sda3 620MB # Mac rescue
sda4 2GB # Swap partition
sda5 50GB # Ubuntu 1
sda10 100GB # ext4 file system
再起動後、黒い画面にgrubコマンドラインが表示されます。私のUbuntuを含むディスクを指定する必要があります。 Ubuntuから起動するには、このスレッドのいくつかの指示に従いました。 https://askubuntu.com/questions/159846/tried-to-boot-ubuntu-but-the-grub-rescue-shows-up-instead そして、以下を試してみてください。
grub> ls (hd2,gpt5) # That's my Ubuntu partition
grub> root=(hd2,gpt5)
grub> configfile /boot/grub/grub.cfg
これでUbuntuを正常に起動しました。ログイン後、grubアップデートの指示に従いました。
$ sudo update-grub
ああ、再起動すると、画面が再び表示されます。したがって、グラブを更新しても問題は解決されませんでした。私はまた、次のような場合にgrub 2を試しました。
$ sudo update-grub2
何も変わりません。
また、sda6にUbuntuの2番目のバージョンを再インストールしてみました。同じシナリオで再起動すると、grubメニューから2つのUbuntuバージョンのいずれかを選択するように求められ、問題が解決しました。ただし、2番目のUbuntuパーティションを削除すると、grubコマンドライン画面で指定しない限り、最初のパーティションは直接起動しません。
これが役に立つかどうかはわかりませんが、これは私のfstabです。
$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=85ab4560-729a-4f7d-91d9-69af89ea1219 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=DAC6-DEC2 /boot/efi vfat defaults 0 1
# swap was on /dev/sda4 during installation
UUID=9c76739a-5996-43d8-a14e-fe690c06870f none swap sw 0 0
この問題を解決するにはどうすればよいですか? EFIの問題ですか? 2番目のUbuntuパーティションを削除すると、grubが最初のパーティションを認識できないのはなぜですか?
私はきれいな解決策を探したいので、問題を解決するためにUbuntuを再インストールするのを避けたいと思います。
答え1
grub.cfg
次のコマンドを使用して再生成する必要があります。
grub2-mkconfig -o /boot/grub2/grub.cfg
または
grub-mkconfig -o /boot/grub/grub.cfg
答え2
私はこのスレッドからヒントを得て問題を解決しました。https://superuser.com/questions/376470/how-to-reinstall-grub2-efi
ライブインストールを使用する必要はなく、grubウィンドウからUbuntuセッションで起動するだけです。その後、grubを再インストールしました。
$apt-get install --grub-efi-amd64の再インストール
これにより、update-grubも自動的に実行されます。 /boot/efi/EFI/ubuntu/grub.cfg の grub.cfg ファイルを正しいパーティションに更新して Ubuntu を起動します。
$ cat /boot/efi/EFI/ubuntu/grub.cfg
search.fs_uuid 17441147-6b9d-45fe-bccd-bed2451f43f8 root hd0,gpt5
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
以前は走っていた
$アップデートグラップ
uuidまたはパーティションはすべて更新されず、古いパーティションはhd0、gpt6という最新のUbuntuパーティションです。だからgrubの再インストールが必要なようです。