【Ubuntu扩容】Ubuntu启动项丢失、增加硬盘相关操作记录贴
【Ubuntu扩容】Ubuntu引导丢失、增加硬盘相关操作记录贴
情况简介
我的主机中有两块硬盘,一块盘装着Windows,另一块盘装着Ubuntu,Ubuntu的盘将满,而Windows的盘不常用,但数据想要保留,因此取下Windows的盘,将新购入的盘装入机器,想要挂载至Ubuntu系统中。
踩坑记录
在我取下Windows的盘安装新盘后,开机后发现Ubuntu启动项丢失
经过排查发现:双系统安装时,GRUB(Ubuntu 的启动管理器)默认安装在第一块硬盘的 EFI 分区(我的Windows 所在的盘),这导致虽然我的Ubuntu系统安装在另一块盘,但EFI分区在Windows所在的盘,导致开机后启动项丢失
因此,在替换硬盘前 请先确定系统的启动项的所在位置,如果是仅新增盘则不会有这样的问题
- 使用命令查看
sudo lsblk -f
上图中是我修复完引导分区之后的截图,其中类型为vfat
是EFI分区,在我修复前EFI分区是在nvme0n1中的,因此在更换硬盘后出现了ubuntu无法启动的问题
Ubuntu引导丢失修复
本小节主要介绍Ubuntu引导丢失后如何修复,如果仅是新增硬盘和挂载请直接查看下一小节
- 思路:由于除了EFI分区外的ubuntu系统和数据仍在Ubuntu硬盘中,因此只需要在这块硬盘中创建EFI分区即可
- 所需设备:ubuntu 启动盘
- 方法:使用ubuntu启动盘进入PE系统,使用GParted软件(PE系统中有这个软件) 新建EFI分区 并安装grub
- 关于使用GParted的使用可以查看对你的大小不满意?教你用Gparted无损调整Linux分区大小
- 但我使用gparted进行resize释放出空闲空间后,将该空间转为FAT32时一直报错,卡在
mkfs.fat -F32 -v -I '/dev/nvme1n1p1
,这里如果不报错就可以直接进行grub的安装 - 但由于报错,迫不得已我又装回Windows的盘,ubuntu引导出现,可正常进入ubuntu系统,我在该系统中使用以下命令对该空间的格式进行调整
修改 p2(前面创建的空闲) 类型为 EFI
sudo gdisk /dev/nvme1n1
# 输入 t → 输入 2 → 输入 ef00 (EFI System)
# 输入 w → 保存并退出# 格式化为 FAT32
sudo mkfs.fat -F32 -n EFI /dev/nvme1n1p2
- 上述操作成功后,我将windows的盘去掉,更换为新买的盘,之后进行再进入启动盘的PE系统中安装grub
# 创建挂载点(如果已经有就跳过)
sudo mkdir -p /boot/efi# 挂载新建的 EFI 分区 (nvme1n1p2)
sudo mount /dev/nvme1n1p2 /boot/efi# 绑定系统目录(准备 chroot)
for i in /dev /dev/pts /proc /sys /run; dosudo mount --bind $i /mnt$i
done# 进入 chroot 环境
sudo chroot /mnt# 安装 grub 到 nvme1n1
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck --removable# 更新 grub 配置
sudo update-grub# 退出 & 卸载分区
exitfor i in /run /sys /proc /dev/pts /dev; dosudo umount /mnt$i
done
sudo umount /mnt/boot/efi
sudo umount /mnt
- 安装完grub后,重启,拔掉启动盘,开机会发现ubuntu的引导项出现并成功进入系统!修复完成,后面开始新增硬盘和挂载的教程
新增硬盘和挂载
需求介绍
-
终于新增硬盘的步骤了,目前已将windows的硬盘替换,装上了新买的硬盘,我想要将这块盘挂载到
/home/用户/data
目录下 -
新增和挂载的步骤可以查看这个视频:5分钟的Linux-挂载新磁盘扩容,我认为up主讲的很清晰,下面的步骤大体遵循up主的步骤
-
1.确定新加的盘是哪一块,根据类型和大小,例如我的就是
/dev/nvme0n1
# 查看新硬盘
sudo lsblk -fsudo fdisk -l
- 2.新建分区
sudo fdisk /dev/nvme0n1
然后 输入 n (意为新建分区)
选择分区类型 p是主分区,e是扩展分区,这里我们选择主分区 输入p
分区号、起始扇区、结束扇区这些按照就可以,直接回车
- 3.格式化分区
sudo mkfs.ext4 /dev/nvme0n1p1(注意这里相较于之前的nvme0n1多了分区号)
- 4.创建挂载目录
因为我要将新盘挂载到/home/用户/data
,因此首先新建data目录
mkdir /home/用户/data
- 5.自动挂载
sudo blkid /dev/nvme0n1p1
- 编辑/etc/fstab文件
sudo vim /etc/fstab写入 UUID=你的UUID /挂载位置 ext4 defaults 0 2
- 6.重启 & 验证挂载是否成功
sudo reboot nowdf -h | grep 挂载路径
完结
折腾了两天,终于将新硬盘装好了,虽然这个过程中遇到了很多困难,但在不断查找资料和解决方案的过程中也学习到了很多,最终解决了问题,遂进行记录,很开心通过不断努力解决问题,也祝大家安装顺利~