簡單無痛解決Linux下修改/etc/fstab導(dǎo)致無法啟動(dòng)的問題

@怪盜kidou 原創(chuàng)文章虱而,轉(zhuǎn)載需在明顯位置保留原文鏈接

Linux

基本情況:

我電腦上裝了deepin+win10雙系統(tǒng),平時(shí)使用Deepin谁榜,偶爾手癢想玩兩把跑跑卡丁車的時(shí)候就會切到Win10,所以為了兩個(gè)系統(tǒng)共享方便叉寂,就分一個(gè)FAT32的分區(qū),用EFI什么的也更方便一點(diǎn)女揭,所以音樂文件也放在該分區(qū)下,前不久也重裝了Deepin 15.1.1(吐槽一下:有點(diǎn)失望栏饮,桌面上的內(nèi)容不顯示)吧兔,所以也就沒有及時(shí)配置自動(dòng)掛載,今天配置的時(shí)候直接搬了上面的ext4分區(qū)的參數(shù)袍嬉,結(jié)果就起不來了境蔼。

不過這次文章所介紹的核心原理很簡單:把/etc/fstab改正確就行了,系統(tǒng)都起不來怎么改?繼續(xù)往下看伺通。

方案一:有root賬號的情況

有root賬號這個(gè)比較好辦箍土,啟動(dòng)不了的話,直接就會讓你輸入root密碼罐监,登錄成功后就進(jìn)入字符模式吴藻,可以直接修改/etc/fstab,然后reboot即可笑诅。

掛載失敗调缨,讓輸入root密碼

當(dāng)然如果你的Linux沒有這個(gè)提示也可以手動(dòng)進(jìn)入恢復(fù)模式(Recovery Mode)疮鲫。

一般Linux啟動(dòng)菜單最少有兩個(gè)選項(xiàng):一個(gè)正常啟動(dòng)吆你,另一個(gè)是高級模式(Advance)。而高級模式中的包含了恢復(fù)模式(基本上是放在最后俊犯,畢竟很少使用)妇多,其它的菜單都是備份內(nèi)核升級前的啟動(dòng)菜單。

例如我的啟動(dòng)菜單:

Deepin 15.1.1 GNU/Linux
Advanced options for Deepin 15.1.1 GNU/Linux
    |---- Deepin 15.1.1 GNU/Linux, with Linux 4.2.0-1-amd64
    |---- Deepin 15.1.1 GNU/Linux, with Linux 4.2.0-1-amd64 (recovery mode)
    |---- 假裝是其它內(nèi)核的選項(xiàng)
Windows Boot Manager
System setup

所以我們?nèi)芜x帶有recovery mode字樣的選項(xiàng)會出現(xiàn)這樣的一個(gè)界面

恢復(fù)模式(Recovery Mode)

可以看到最上面提示filesystem state:read-only燕侠,即文件系統(tǒng)是只讀的者祖,不過這都不是問題,有了root賬號绢彤,一切都是浮云七问。

選擇 root,會提示輸入root密碼茫舶,登錄后先輸入

mount -o remount,rw /        # 將根文件系統(tǒng)重新掛載為讀寫狀態(tài)

不然是無法修改文件的械巡,如果沒有任何提示信息的話用mount查看根目錄的狀態(tài)應(yīng)該已經(jīng)是讀寫狀態(tài)

mount | grep " / "        # 查看根文件系統(tǒng)是否變
重新掛載為可寫狀態(tài)

這時(shí)就可以修改 /etc/fstab 文件啦。


方案二:沒有root賬號(今日采用)

我的情況就比較特殊,平時(shí)沒有開root賬號讥耗,都是用sudo,要切換到root賬號時(shí)也是直接sudo su就行了有勾,所以啟動(dòng)時(shí)和恢復(fù)模式也提示root賬號已被鎖,所以方案一行不通古程。本方案的主要內(nèi)容就是:如何弄出一個(gè)root賬號

我們知道linux將賬號密碼都存在/etc/passwd/etc/shadow中蔼卡,所以只要不讓kernel掛載我們根文件系統(tǒng)就OK了。

1挣磨、重啟計(jì)算機(jī)雇逞,在Grub啟動(dòng)菜單上按“E”進(jìn)入編輯模式。
2趋急、定位到 linux 開頭的行(grub 1.x為kernel開頭)喝峦,如:

linux /boot/vmlinuz-4.2.0-1-amd64 root=UUID=57c612a5-984b-4b14-bd1d-6c91f528cf9e ro  splash quiet

3、刪除其余的參數(shù)呜达,主要是root參數(shù)谣蠢,如下:

linux /boot/vmlinuz-4.2.0-1-amd64

4、按F10ctrl+x啟動(dòng)修改后的菜單查近。

注:這里的編輯模式不會修改文件眉踱,如果改錯(cuò)了按ESC返回,重新走第一步就行了霜威。

當(dāng)你出現(xiàn)下圖時(shí)說明成功繞過系統(tǒng)提供的賬號體系

ramfs啟動(dòng)圖

此時(shí)輸入命令id驗(yàn)證

ramfs成功使用上了root賬號

需要注意的是此時(shí)kernel使用文件系統(tǒng)為內(nèi)存模擬的磁盤谈喳,所以我們所作的任何操作不會影響我們真正的系統(tǒng),要想修改我們原本系統(tǒng)中的文件必須掛載原系統(tǒng)的根目錄到我們現(xiàn)在使用的系統(tǒng)下戈泼。

mkdir /tmp/root  # 創(chuàng)建一個(gè)目錄用于掛載真正系統(tǒng)的根目錄
mount /dev/sda3 /tmp/root # 掛載設(shè)備到我們創(chuàng)建的文件夾下婿禽,我系統(tǒng)的磁盤設(shè)備為sda3,sda1和sda2分別為ESP、MSR
vi /tmp/root/etc/fstab # 注意busybox沒有提供vim,還有文件路徑的變化大猛,不在是/etc/fstab了

修改完保存后直接reboot就ok了扭倾。


方案二原理:
上面介紹方案二的時(shí)候第2步提到 “定位到 linux 開頭的行”,其實(shí)在linux命令下面一般還有以initrd開頭的一行挽绩,如:

linux /boot/vmlinuz root=/dev/sda3
initrd /boot/initrd.img

這里的vmlinuz就是Linux kernel內(nèi)核膛壹,而initrd.img實(shí)際上是一個(gè)經(jīng)過gzip或lzma壓縮的cpio歸檔文件,initrd(initial RAM disk,初始化內(nèi)存磁盤) 是最開始使用的根文件系統(tǒng)里面也有/etc唉堪,/bin模聋,/usr,/dev等目錄還包含了一些基本配置唠亚、驅(qū)動(dòng)链方、命令等,等磁盤設(shè)備加載完后灶搜,再將指定的磁盤分區(qū)掛載為根文件系統(tǒng)祟蚀,去執(zhí)行該根文件系統(tǒng)下的初始化操作完成啟動(dòng)(不一定完全準(zhǔn)確共啃,大致流程應(yīng)該是這樣),不然你想想掛載要mount命今暂题,而mount在/bin下移剪,而這時(shí)候還 / 都還沒有,如此循環(huán)薪者。纵苛。

我認(rèn)為的啟動(dòng)流程

由于沒有加載我們真正的根文件系統(tǒng),所以賬號密碼都沒有言津,但我們可以手動(dòng)掛載攻人,并以達(dá)到修改fstab的目的,是不是有一種PE的感覺呢?只想你想當(dāng)然也可以干點(diǎn)別的悬槽,就看你怎么發(fā)揮了怀吻,不要拿去干壞事喲。

該initrd.img是可以自定義的初婆,網(wǎng)上有很多文章蓬坡,以前做過一個(gè),給root賬號加上密碼磅叛,用來放在U盤里屑咳,這樣別人想使用你的 ramfs也是不行的,只不過系統(tǒng)提供的肯定是沒有的弊琴。


本文完

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末兆龙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子敲董,更是在濱河造成了極大的恐慌紫皇,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腋寨,死亡現(xiàn)場離奇詭異聪铺,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)精置,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門计寇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锣杂,“玉大人脂倦,你說我怎么就攤上這事≡” “怎么了赖阻?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長踱蠢。 經(jīng)常有香客問我火欧,道長棋电,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任苇侵,我火速辦了婚禮赶盔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘榆浓。我一直安慰自己于未,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布陡鹃。 她就那樣靜靜地躺著烘浦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪萍鲸。 梳的紋絲不亂的頭發(fā)上闷叉,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機(jī)與錄音脊阴,去河邊找鬼握侧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛嘿期,可吹牛的內(nèi)容都是我干的藕咏。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼秽五,長吁一口氣:“原來是場噩夢啊……” “哼孽查!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起坦喘,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤盲再,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后瓣铣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體答朋,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年棠笑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了梦碗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蓖救,死狀恐怖洪规,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情循捺,我是刑警寧澤斩例,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站从橘,受9級特大地震影響念赶,放射性物質(zhì)發(fā)生泄漏础钠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一叉谜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧阵漏,春花似錦履怯、人聲如沸裆泳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽槽畔。三九已至厢钧,卻和暖如春早直,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背糕韧。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工萤彩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乒疏,地道東北人怕吴。 一個(gè)月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓转绷,卻偏偏與公主長得像议经,于是被迫代替她去往敵國和親煞肾。 傳聞我的和親對象是個(gè)殘疾皇子籍救,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容