2 minute read

记录一下ubuntu多系统卸载相关内容

1. ubuntu系统安装和卸载问题

1.1 安装ubuntu系统

制作U盘启动盘,进入bios设置优先U盘启动,选择安装的系统,boot in normal mode ubuntu 然后有时会检查文件系统 Install ubuntu语言的话我没改就是英语,之后再改, Normal install 下面我去掉了更新下载,选上了第三方图形和硬件那个选项contiue Something else其他用于自定义分区 我发现我的新硬盘还没格式化,退出安装,重启到windows’格式化硬盘为GPT格式(bios里都是UEFI开头的) 打开diskgenius,选择对应硬盘,右键硬盘,选择转换为GUID,可以看到分区表类型为GPT了 继续安装 分区我参考 https://blog.csdn.net/weixin_45291614/article/details/132738364 然后在loader installation选择整个硬盘,不选择某个区 点击install now出现

the partition tables of the following devices  are changed:
the following partitions are going to be formatted:
partition #7 of /dev/nvme0n1 as swap这个是已经安装的ubuntu系统的交换空间
partition #1 of /dev/nvme1n1 as ESP
partition #2 of /dev/nvme1n1 as swap
partition #3 of /dev/nvme1n1 as ext4

1.2 ubuntu共用引导项

电脑上安装了两个ubuntu系统时删除其中一个时可能会进入grub界面,这可能是因为两个ubuntu共用了引导项 下面是ai的答案 我自己都没有尝试过

  • 确保每个 Ubuntu 都安装在自己的硬盘上 在 BIOS 里选择你想要安装 Ubuntu 的硬盘作为安装目标,确保 /boot 和 GRUB 都安装在同一块硬盘上,而不是安装到另一块硬盘(默认安装时可能会把 GRUB 安装到第一块硬盘)。安装时,在 “安装引导程序的位置” 选择 新硬盘(即你要安装第二个 Ubuntu 的那块固态)。

  • 不要让第二个 Ubuntu 影响现有的引导 安装时: 断开原来的 Ubuntu 硬盘(推荐但不方便):这样新 Ubuntu 安装时不会自动修改已有的 GRUB 引导,而是完全独立安装。 如果不想断开硬盘,则必须在安装过程中选择 “自定义分区”,并明确指定新 Ubuntu 的 /boot 和 EFI 分区都在新硬盘上。

  • 设置 BIOS 选择启动盘 安装完成后,在 BIOS 里,你可以选择默认从哪块硬盘启动,避免 GRUB 依赖另一块硬盘。这样,即使删除了一个 Ubuntu,另一个 Ubuntu 仍然可以独立启动,不会受到影响。

如果已经安装好了,如何检查 Ubuntu 是否共用了引导? 查看 GRUB 安装位置 在现有的 Ubuntu 中运行:

sudo grub-install --target=x86_64-efi --recheck --boot-directory=/boot --efi-directory=/boot/efi

这会告诉你 GRUB 目前安装在哪个硬盘上。 查看 /boot/efi 挂载情况 运行:

lsblk -f

看看 /boot/efi 是否指向了第一块硬盘。如果是,那么你的 GRUB 可能是共用的。

  • 修复 GRUB 如果你不小心删除了一个 Ubuntu,导致另一个 Ubuntu 无法启动,可以使用 Ubuntu LiveCD 进入恢复模式,然后执行:
    sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --boot-directory=/boot /dev/sdX
    sudo update-grub
    

    其中 /dev/sdX 需要替换为正确的硬盘设备,例如 /dev/sda 或 /dev/sdb。

结论 你的电脑是可以安装两个 Ubuntu 20.04 的,但为了避免删除其中一个后影响另一个,最好:

确保每个 Ubuntu 20.04 的 /boot 和 GRUB 都安装在自己的硬盘上。
安装时选择正确的 EFI 分区,最好让它们独立。
删除其中一个 Ubuntu 时,确保另一个 Ubuntu 的 GRUB 仍然存在,并可引导。

这样,即使你删除其中一个 Ubuntu,另一个仍然能正常启动,不会出现 grub rescue 或 找不到引导项 的问题。

1.3 为每个 Ubuntu 系统设置不同的名称

GRUB 引导菜单会列出可用的操作系统供您选择。如果您在同一台计算机上安装了多个相同版本的 Ubuntu(例如,两个 Ubuntu 20.04),默认情况下,这些系统在 GRUB 菜单中可能显示相同的名称(可一根据后面的盘位置来区分)

  • 修改 /etc/default/grub 文件

在每个 Ubuntu 系统中,编辑其对应的 /etc/default/grub 文件,设置不同的发行版名称。这将影响 GRUB 菜单中显示的名称。

步骤:
    打开终端,使用管理员权限编辑 /etc/default/grub 文件: ```bash sudo vim /etc/default/grub ``` 我的内容为: ```bash GRUB_DEFAULT=0 GRUB_TIMEOUT_STYLE=hidden GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX="" ``` 找到 GRUB_DISTRIBUTOR 行,将其修改为您希望显示的名称。例如: `GRUB_DISTRIBUTOR="Ubuntu 20.04 - System A"` 保存并关闭文件。 更新 GRUB 配置:`sudo update-grub` 通过上述步骤,您可以为每个 Ubuntu 系统设置不同的名称,以便在 GRUB 菜单中轻松区分。 注意事项: 在修改 GRUB 配置文件之前,建议备份原始文件,以防出现问题时可以恢复。 确保每个 Ubuntu 系统的引导配置正确,避免引导冲突。

1.4 两个ubuntu删除其中一个

  • 背景:两块硬盘,三个系统,2t的硬盘装有windows系统和ubuntu系统,1t的硬盘装有ubuntu系统,现在不需要2t硬盘上的ubuntu系统,决定只保留1t硬盘中的ubuntu系统

步骤:

先在windows中删除你要删的ubuntu相关的内容,我是三项,一个esp 一个交换 一个/路径,可以参考一下:https://blog.csdn.net/zyq880625/article/details/139801018

注意不要删除开机启动引导项(如果你只有一个ubuntu的话可以删除,或者你两个ubuntu都选择删除的话也可以删除引导项),好像是多个ubuntu会共用一个引导项,如果删除引导,其他ubuntu会找不到引导项

然后重启电脑,进入你保留的那个ubuntu中,打开终端,输入

sudo update-grub

更新 GRUB 菜单,移除失效 Ubuntu 项,可以把输出粘贴给ai看

清理 EFI 中残留的 Ubuntu 启动项(如果你 BIOS 菜单还显示) sudo efibootmgr 我这里显示:

sd101t@sd101t-MS-7D76:~$ sudo efibootmgr 
BootCurrent: 0003 
Timeout: 1 seconds 
BootOrder: 0003,0000 
Boot0000* Windows Boot Manager 
Boot0003* ubuntu

已经清理了多余的引导项,重启看看效果

但是现在ubuntu开机缓慢 看看有没有“挂载了不存在的分区”

cat /etc/fstab,然后问ai, sudo vim /etc/fstab 我的是: 选中那部分是一个不存在的 swap 分区,删除的ubuntu的交换分区,注释掉

ubuntu卸载

ubuntu卸载

重启试一试

2. 备份

  • 备份 /etc/default/grub 文件 在修改 GRUB 之前,建议先备份当前的 GRUB 配置文件:
    sudo cp /etc/default/grub /etc/default/grub.bak
    

    这个命令会创建一个名为 grub.bak 的备份文件。

  • 或者备份整个 GRUB 目录(可选) 如果您想备份更多 GRUB 相关的配置文件,可以备份整个 GRUB 目录:
    sudo cp -r /boot/grub /boot/grub.bak
    

    这样可以在 GRUB 配置损坏时直接恢复整个目录。

  • 恢复 如果需要恢复 GRUB 配置 如果 GRUB 配置出现问题,可以通过以下命令恢复:
    sudo cp /etc/default/grub.bak /etc/default/grub
    sudo update-grub
    
  • 如果整个 GRUB 目录损坏,可以用下面的命令恢复:
    sudo rm -rf /boot/grub
    sudo cp -r /boot/grub.bak /boot/grub
    sudo update-grub
    

    如果 GRUB 无法引导,可以使用 Ubuntu Live USB 进入 Live 环境,并运行以下命令来修复:

    sudo mount /dev/sdXn /mnt  # 挂载 Ubuntu 根分区
    sudo mount /dev/sdX1 /mnt/boot/efi  # 如果使用 UEFI
    sudo grub-install --root-directory=/mnt /dev/sdX
    sudo update-grub
    

    请将 /dev/sdXn 和 /dev/sdX 替换为您的 Ubuntu 根分区和磁盘。

使用 Ubuntu Live USB 进入 Live 环境 类似安装ubuntu的步骤,但进入后选择选择 Try Ubuntu Without Installing(试用 Ubuntu,不安装)。