先說問題:
在一個電腦裝多個系統(tǒng)(Windows 和 Linux 發(fā)行版)時浪汪,其中一個發(fā)行版更新后,默認更新 grub凛虽,但是其他發(fā)行版可能不認識它自動修改后的設(shè)置參數(shù)死遭,導(dǎo)致無法啟動。
做為一個經(jīng)常嘗試多個發(fā)行版的 Linux 腦殘粉兒凯旋,我就遇到過這種情況呀潭。
先上一張我的 OS List:
OS List
Manjaro 更新 grub 之后,CentOS7 啟動不了了:
CenotOS boot Error 1
CenotOS boot Error 2
錯誤關(guān)鍵字是:
error: invalid file name '16'
明確問題
CentOS 不能啟動至非;錯誤關(guān)鍵字:centos, 16
如何解決
- 猜測是 grub 更新引起的
- 進入 Manjaro 的系統(tǒng):
sudo fdisk -l # 查看 CentOS 的根分區(qū): 在 `/dev/sdb8`
sudo blkid
# output:
#
# ...
# dev/sdb8: LABEL="OS_Cent" UUID="e684cb20-a15b-4c9f-8147-ddc391bad275" TYPE="ext4" PARTUUID="a645d9b4-08"
# ...
# 可知 `/dev/sdb8` 的 UUID 為:e684cb20-a15b-4c9f-8147-ddc391bad275
sudo cp -p /etc/boot/grub/grub.cfg /ec/boot/grub/grub.cfg.old # 備份钠署,勸大家養(yǎng)成好習(xí)慣,你們以后大概率會感謝我的睡蟋。套路一下:別問我怎么知道的踏幻,說起來都是淚
sudo vim /etc/boot/grub/grub.cfg
# 當(dāng)你試圖修改這個文件的時候,你會收到如下的警告:
####################################
# DO NOT EDIT THIS FILE
####################################
# 特此聲明戳杀,你得知道自己在干什么该面。
# 反正我不管了:
# `/centos` 搜索 centos 這個關(guān)鍵詞
結(jié)果:
CentOS 錯誤關(guān)鍵字
看到那個錯誤關(guān)鍵字 '16' 了嗎?
還有它的 UUID:
linux /boot/vmlinuz-3.10.0-1160.11.1.el7.x86_64 root=UUID=e684cb20-a15b-4c9f-8147-ddc391bad275 ro rhgb quiet LANG=zh_CN.UTF-8
我把它(16)刪除了信卡。別處哪兒也沒有動隔缀。
再啟動,OK傍菇!