ArchLinux更新grub

下载安装镜像,使用安装镜像启动系统后执行如下命令

UEFI启动

本地磁盘使用GPT分区

#fdisk /dev/sdx
mkfs.vfat -F32 /dev/sdx1            #以vfat方式创建efi
mkfs.ext4 /dev/sdx2                 #以ext4方式格式化磁盘/dev/sda的/dev/sda1分区
#mount /dev/sdxx /mnt
#mount /dev/sdxx /mnt/boot/EFI
#genfstab -U -p /mnt >> /mnt/etc/fstab

第一句就是将原来系统的根目录所在分区挂载到livecd的/mnt中,第二句是将原来系统
/boot目录所在分区挂载到livecd的/mnt/boot/EFI,这两句的先后顺序不能换。第三句往后直接照抄
就行,这几句都是挂载目录,为一会儿的在livecd中使用原来系统做准备。以上命令输完之后输入
下一条命令:

#arch-chroot /mnt

重新执行grub-installgrub-mkconfig

grub-install /dev/sdx
grub-install --target=x86-64-efi --efi-directory=/boot/EFI --bootloader-id=ArchLinux
grub-mkconfig -o /boot/grub/grub.cfg

BIOS启动

本地磁盘使用DOS分区

#fdisk /dev/sdx
mkfs.vfat -F32 /dev/sdx1            #以vfat方式创建efi
mkfs.ext4 /dev/sdx2                 #以ext4方式格式化磁盘/dev/sda的/dev/sda1分区
#mount /dev/sdxx /mnt
#mount /dev/sdxx /mnt/boot
#genfstab -U -p /mnt >> /mnt/etc/fstab

第一句就是将原来系统的根目录所在分区挂载到livecd的/mnt中,第二句是将原来系统
/boot目录所在分区挂载到livecd的/mnt/boot,这两句的先后顺序不能换。第三句往后直接照抄
就行,这几句都是挂载目录,为一会儿的在livecd中使用原来系统做准备。以上命令输完之后输入
下一条命令:

#arch-chroot /mnt

重新执行grub-installgrub-mkconfig

# grub-install --target=i386-pc --recheck /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg

如果分区格式有变化,需重现安装内核模块,在执行grub-installgrub-mkconfig

pacman -S linux linux-headers
posted @ 2021-03-26 16:42  Hlooc  阅读(2662)  评论(0编辑  收藏  举报