近日由于某个实验需要Ubuntu环境,故重新进行安装并遇到了许多意外的问题,现将这些问题与对应的解决方案记录如下。
原环境: Ubuntu 20.04.3
目标环境:Ubuntu 22.04.1
创建新用户后赋予管理员权限失败,赋予方式[1]如下:
sudo usermod -aG sudo userName
赋予后会发生用户不在sudoers目录中的报错,所以我寻求了另一种赋予权限的方式[2] :
sudo vim /etc/sudoers
在如图位置加入语段:
sudo vim /etc/sudoers
笔者在更新gdb时(清华镜像源,时间2022/10/27)
apt-get install gdb # GNU debugger
系统发出报错,由于之前也出现过类似的情况,所以我没有重视。当安装完毕重启时发现系统无法启动,出现了如下报错:
[ 0.077414] x86/cpu: VMX (outside TXT) disabled by BIOS
[ 0.109098] ACPI Error: Needed type [Reference], found [Integer] 000000003136b36 (0201113/exresop-66)
[ 0.109137] ACPI Error: AE_AML_OPERAND_TYPE, while resolving operands for [Store] (20201113/dswexec-431)
[ 0.109189] Aborting method \.PR.CPU0._PDC due to previous error(AE_AML_OPERAND_TYPE) (20201113/psparse-529)
于是本着STFW的原则,我去Google该问题并在Manjaro Linux Forum论坛成功发现了相近的帖子 [3] ,该贴中的回答给出了解决方案如下截图[3] 。此外该贴下的其他回答也解释了该问题可能是由于BIOS版本引发的,同时解决方案也只是强行忽略该错误,而无法根除。
PS:其实该方案并未解决我的问题,但是让我明白了错误起因。
在经过问题二后,得到的解决方案只能避免(忽略)该错误使得系统正常运行,而非确实解决错误,所以我决定利用开源Ubuntu资源与已有硬件资源(U盘)自制一个系统盘来重装系统,步骤如下[4] 。
PS:其实在一开始接触Linux时就应该自制系统安装盘了,但是由于室友有现成的安装盘,所以我跳过了这一步,现在重新回过头来制作。
Step 1: 下载Ubuntu22.04.1镜像文件。
Step 2: 使用U盘,ultraISO工具制作系统盘[5] 。
Steo 3: 将制作好的系统盘插入目标设备并装载系统。
由于网络中该教程众多,此处不作赘述。
如题,未知的错误总会引起一连串的错误,特别是自己无法完全解决的错误。
在制作好启动盘并插入后,我本想能顺利重装系统,没有想到在进入系统安装盘后发生了如题第一个错误:
symbol 'grub_calloc' not found
Google后发现这又是我无法理解的一个错误,但至少有解决方案[6] ,在过程中我希望不借助工具解决问题,所以我根据网页中的步骤进行修改,没想到在操作后反而出现了另一个错误:
grub/i386-pc/normal.mod not found
此时我甚至无法进入命令行界面。之后我也继续STFW发现了解决方案[7] ,但是对我的情况并不适用,同时也发现了更多的报错[8] 。
至此为了能快速进入下一步,我只能先使用经众多答案推荐的工具Boot-Repair来解决问题。步骤如下:
Step1:首先需要准备一个U盘,将该工具写入U盘,过程与上述制作启动盘一致,这里不作赘述。
Step2:启动目标设备进入BIOS界面,以制作好的U盘为启动盘启动系统,会看到如下图所示的界面(图源自[6]中某个回答):
按下enter键选择第一个选项
Step3:进入后的第一个窗口选择No,这里不需要得到最新的版本,然后就会进入到如下窗口,一般情况选择第一个选项即可开始修复。
PS:如果出现报错:please disable bios-compatibility/csm/legacy mode,请看下文补充部分。
Step4:修复结束后即可重启使用之前制作好的Ubuntu系统盘进行安装操作。
更多操作细节参考原始网站[9]
如果在修复过程中遇到报错please disable bios-compatibility/csm/legacy mode,解决方案如下所示(以联想T540p为例,品牌不同请自行寻找对应项):
Step1:在开机时按下 F12 进入 BIOS 界面,并在 App Menu 中进入 Setup 界面
Step2:找到 Startup 栏目下的 UEFI/Legacy Boot 选项,如下图所示,按 “+” 将默认选项改为 UEFI Only。
Step3:将下属的 CSM Support 默认选项改为 No。
Step4:进入Restart 栏选择 Exit Saving Changes,保存所有改动并退出。
完成上述步骤后再次运行Boot-Repair工具即可正确修复。