Discuz! BBS

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 650|回复: 1

重建boot分区(EFI)

[复制链接]

254

主题

363

帖子

2431

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2431
发表于 2024-7-29 21:33:42 | 显示全部楼层 |阅读模式
linux 重建boot分区
重建Linux的boot分区通常涉及以下步骤:

确定你的系统使用的是哪个分区来存储bootloader及其相关文件。

创建一个新的分区,并在其上创建ext4文件系统(通常用于boot分区)。

挂载新分区,并复制现有的boot文件到新分区。

更新GRUB配置,并重新生成GRUB配置文件。

更新fstab文件,以确保在启动时挂载新的boot分区。

重新生成initramfs映像(如果需要)。

重新启动计算机,以验证新的boot分区是否正常工作。

以下是一个基于命令行的简化示例:

# 查看当前分区情况
lsblk

# 假设/dev/sda需要一个新的boot分区
fdisk /dev/sda

# 创建新的分区,并格式化为ext4文件系统
mkfs.ext4 /dev/sda1

# 挂载新的分区,并复制现有的boot文件
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
cp -a /boot/* /mnt/boot/

# 更新GRUB配置
grub-install --boot-directory=/mnt/boot /dev/sda

# 编辑GRUB配置文件(/mnt/boot/grub/grub.cfg),确保正确引用新分区
# 可以使用grub-mkconfig等工具生成配置

# 更新fstab,添加新的boot分区挂载点
echo '/dev/sda1 /boot ext4 defaults 0 0' >> /mnt/boot/etc/fstab

# 重新生成initramfs映像(如果需要)
dracut --force --fstab /mnt/boot/etc/fstab /mnt/boot

# 卸载新的boot分区,并重启
umount /mnt/boot
reboot
这整个一篇文章可以说是没有针对性。至少在一些特殊的发行版上是不行的。比如/boot/efi 挂在/dev/sda5 上,这种情况就无法用上面的方式恢复。不过具体恢复方法是: 先把mnt(两个)加载好,然后 使用chroot,然后重新安装grub,最后更新config.grub文件就可以了。
还有一种更复杂的情况是/dev/sda5被删除了,也可以用挂在的方法,不过先要把该盘格式化为vfat,注意这里格式化后的规格:
fstab:
UUID=0000-00000000000000     /                       ext4    defaults        1 1
UUID=0056-0000          /boot/efi               vfat    umask=0077,shortname=winnt 0 2


在这之后再拷贝原盘上的文件到/boot/efi,具体方法见本论坛相关帖子的参考内容部分。


回复

使用道具 举报

254

主题

363

帖子

2431

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2431
 楼主| 发表于 2024-12-30 17:00:03 | 显示全部楼层
本篇文章写的不好。要有真知灼见。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-4-16 07:43 , Processed in 0.015744 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表