FixLinuxGrub

  事情是这样的!听我缓缓道来……

  一时心血来潮想要折腾一下NVIDIA Jetson TX2这块边缘计算的板子,但到手后发现这个板子上面的Ubuntu用户不知道是谁的,密码也不知道是什么,所以没办法只能重装系统了。NVIDIA Jetson TX2的重装需要在Linux系统上使用SDK Manager这个软件,而TX2能安装的JetPack的版本不能用Ubuntu 20.04,所以之前安装的双系统不能用!得安装第三个系统Ubuntu 18.04!这是一切问题的开端!

SDK Manager | NVIDIA Developer

image-20240423135756627

JetPack Archive | NVIDIA Developer

image-20240423140127658

  LabPC之前的双系统是Windows 10和Ubuntu 20.04 LTS,这次再安装Ubuntu 18.04 LTS的话,电脑上就三个系统了!安装了三个系统的电脑虽然风险有点儿大,但其实情况也还好,不算什么大问题!而问题是第三个系统安装的硬盘是移动硬盘,这个硬盘是通过USB口接的一个硬盘盒,硬盘盒里是一个M2的固态硬盘。最关键的问题在这种硬盘的连接方式上,这将对整个系统的稳定性带来了极大的隐患。因此这个Ubuntu 18.04 LTS的系统不能久留,用完后得把这个移动硬盘和系统给移除掉!

image-20240423141505822

image-20240423141529129

  在我用完Ubuntu 18.04 LTS之后,我本来以为直接把这个移动硬盘拔掉就好了,但事实并不是这么简单的!拔掉硬盘后再开机系统进入了Grub的界面,我人傻了,这种情况是我从来没遇到过的,我不知道怎么下手,网上搜了搜相关信息是说系统启动引导文件出错了,但我不敢贸然行动,害怕把另外的两个系统给搞坏了,所以先连接上了这个移动硬盘,然这个“三系统”的”高危”电脑就这样运行着。面对埋下的这颗不稳定的“雷”,还是有些恐惧的,得想办法把这颗“雷”排掉!在查阅了一下参考资料之后,动手!

image-20240423141605167

先用ls命令查看一下当地设备中的硬盘和分区,如果能知道自己的系统是安装在哪个硬盘下那就太好了。如果不知道的话就用ls命令一个看,看看分区内文件就大概能推算出来是哪块儿硬盘

1
2
3
grub> ls
(hd0),(hd0,gpt1),(hd0,gpt2),(hd0,gpt3),(hd0,gpt4),... ...,(hd1),(hd1,gpt1),... ...,(hd2),(hd2,gpt1),... ...,(hd3),(hd3,gpt1),... ...

查看当前grub的设置,下面的?是指的是某个数字,我这里是只想的Windows系统所在的那个硬盘,这就解释通了为什么开机进入不了引导界面,而是进入了Grub命令界面,因为当前设置的硬盘里并并没有grub的文件。

1
2
3
4
5
6
grub> set
... ...
# 只需要关注这两行内容
prefix=(hd?,gpt?)/grub/
root=hd?,gpt?
... ...

在移除了硬盘盒之后,我台电脑是是有四块硬盘:

  • (hd0):480GB SSD: Ubuntu 18.04

  • (hd1):256GB SSD

  • (hd2):1TB HDD

  • (hd3):480GB SSD: Windows 10

在确定了Ubuntu所在的硬盘之后,下面就找grub.cfg这个文件!

image-20240423142604050

grub.cfg文件文件在这个目录下,下面就把这个目录设置到Grub的设置之中。

image-20240423143633868

1
2
3
# 设置
grub> set root=(hd0,gpt2)
grub> set prefix=(hd0,gpt2)/grub

用set命令可以修改成功了

image-20240423143655129

1
2
3
# 启动Grub启动引导界面
grub> insmod normal
grub> normal

终于又见到了熟悉的双系统的界面了,第一个Ubuntu是20.04 LTS版本的,所以一切正常了!

image-20240423143740595

选择第一项进入Ubuntu 20.04 LTS系统中,然后继续下面的操作。

1
2
npu481@npu481-H310M:~$ sudo update-grub
npu481@npu481-H310M:~$ sudo grub-install /dev/sda

image-20240423144020376

好了,就这样操作完成了!


FixLinuxGrub
https://cosmicdusty.cc/post/Knowledge/FixLinuxGrub/
作者
Murphy
发布于
2024年4月23日
许可协议