您尚未登录。

#1 2013-09-04 21:13:25

血族使天
会员
注册时间: 2013-01-12
帖子: 132

UEFI环境下如何恢复grub引导?

装Arch是参照的是Arch Linux 安装指南(ArchISO 2013.08.01 适用)

# pacman -S grub efibootmgr
# umount /sys/firmware/efi/efivars
# modprobe -r efivars
# modprobe efivars
# grub-install --efi-directory=/boot/efi --bootloader-id=Arch --recheck

然后

# grub-mkconfig -o /boot/grub/grub.cfg

安装完成后一切正常,然后我又在另一块硬盘上装了一个openSUSE,也是UEFI模式,安装是只插了一块硬盘,openSUSE安装完成后Arch就不能引导了,在开机启动硬盘里面找不到记录。

因为Arch是主Linux系统,所以必须恢复引导,用livecd启动后按安装系统时的步骤将/dev/sda2挂载到/,/dev/sda3挂载到/home,/dev/sda1挂载到/boot/efi下,然后执行

grub-install --efi-directory=/boot/efi --bootloader-id=Arch --recheck

提示成功,
接着执行

grub-mkconfig -o /boot/grub/grub.cfg

时出现了问题,执行完毕后直接显示一个Done,我记得装系统的时候会有两行内核信息的,结果重启后可以找到UEFI信息,启动到grub界面后就停留在grub>了。

难道重新安装引导的步骤和全新安装系统时不相同?

离线

#2 2013-09-05 14:58:58

nopriler
会员
注册时间: 2012-01-03
帖子: 393

Re: UEFI环境下如何恢复grub引导?

应该是未指定 --boot-directory 所致。

  1. 启动LiveCD

  2. 挂载:

    # mount /dev/sda2 /mnt/
    # mount /dev/sda1 /mn/boot/efi
  3. 执行:

    # grub-install --boot-directory=/mnt/boot --efi-directory=/mnt/boot/efi --bootloader-id=Arch --recheck

最近编辑记录 nopriler (2013-09-05 15:05:33)

离线

#3 2013-09-06 16:59:35

血族使天
会员
注册时间: 2013-01-12
帖子: 132

Re: UEFI环境下如何恢复grub引导?

试过了,还是没用

离线

#4 2013-09-09 00:22:43

Chang
会员
注册时间: 2013-09-06
帖子: 12

Re: UEFI环境下如何恢复grub引导?

装os-prober了吗?

离线

#5 2013-09-14 23:32:03

Peter
会员
注册时间: 2013-09-03
帖子: 43

Re: UEFI环境下如何恢复grub引导?

Chang 说:

装os-prober了吗?

os-prober是多系统引导需要吧,具体的楼上已经说的很清楚了

离线

#6 2013-09-14 23:35:15

Peter
会员
注册时间: 2013-09-03
帖子: 43

Re: UEFI环境下如何恢复grub引导?

nopriler 说:

应该是未指定 --boot-directory 所致。

  1. 启动LiveCD

  2. 挂载:

    # mount /dev/sda2 /mnt/
    # mount /dev/sda1 /mn/boot/efi
  3. 执行:

    # grub-install --boot-directory=/mnt/boot --efi-directory=/mnt/boot/efi --bootloader-id=Arch --recheck

boot-directory请看,英文版的wiki,里面有个警告提示boot-directory好像会重复在/boot下建立/boot,也就是/boot/boot/grub

离线

#7 2013-09-14 23:37:57

Peter
会员
注册时间: 2013-09-03
帖子: 43

Re: UEFI环境下如何恢复grub引导?

血族使天 说:

装Arch是参照的是Arch Linux 安装指南(ArchISO 2013.08.01 适用)

# pacman -S grub efibootmgr
# umount /sys/firmware/efi/efivars
# modprobe -r efivars
# modprobe efivars
# grub-install --efi-directory=/boot/efi --bootloader-id=Arch --recheck

然后

# grub-mkconfig -o /boot/grub/grub.cfg

安装完成后一切正常,然后我又在另一块硬盘上装了一个openSUSE,也是UEFI模式,安装是只插了一块硬盘,openSUSE安装完成后Arch就不能引导了,在开机启动硬盘里面找不到记录。

因为Arch是主Linux系统,所以必须恢复引导,用livecd启动后按安装系统时的步骤将/dev/sda2挂载到/,/dev/sda3挂载到/home,/dev/sda1挂载到/boot/efi下,然后执行

grub-install --efi-directory=/boot/efi --bootloader-id=Arch --recheck

提示成功,
接着执行

grub-mkconfig -o /boot/grub/grub.cfg

时出现了问题,执行完毕后直接显示一个Done,我记得装系统的时候会有两行内核信息的,结果重启后可以找到UEFI信息,启动到grub界面后就停留在grub>了。

难道重新安装引导的步骤和全新安装系统时不相同?

你注意看分区了吗,好像需要一个特别为efi的分区哦

离线

页脚