日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Fedora分区扩容以及如何修复引导

發布時間:2023/12/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Fedora分区扩容以及如何修复引导 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

起因

Linux分區過小,想將Windows下的一個不用的區分出一部分空間來進行擴容。直接在Windows下將D盤減小容量后,重啟出現grub rescue字樣,無法進入系統。


解決過程

首先檢索grub rescue,結果很多,總結步驟如下:

1.先輸入ls回車,查看顯示的內容。如:

(hd0) (hd0,msdos14) (hd0,msdos13) (hd0,msdos12)....

2.然后找出哪個盤安裝了系統,嘗試所有的,直到返回內容不再是error: unknown filesystem.為止。

ls (hd0,msdos1)/boot ls (hd0,msdos2)/boot

3.如果出現包含img文件的目錄,即為linux系統所在目錄,也是grub2所在目錄

4.然后設置grub2啟動

set root=(hd0,msdos13)/boot/grub2 set prefix=(hd0,msdos13)/boot/grub2 insmod normal normal

5.便進入之前的引導界面了。

但是這只是臨時的辦法,還需要修復grub之后才能完全解決這一問題,否則重啟還會出現一樣的界面。這里我因為還要進行擴容,所以就沒有直接修復grub,而是先研究擴容去了。

既然grub的問題可以解決,那么我就更大膽了,直接在windows下,用diskdirector將swap分區移動到空閑分區右邊,使得空閑分區與linux主分區相鄰,便于之后的擴容。

但是這里一個很尷尬的問題是,diskdirector沒法直接對linux的主分區進行擴容!在容量的設置上是鎖死的!不知道是由于不支持ext4的原因還是本就如此。

沒辦法,只好換別的工具了。

在之前查如何擴容時,有資料說用fdisk是無法直接進行擴容的,還提到了一個工具叫Gparted,可以用其提供的LiveCD進行U盤啟動從而調整分區大小,于是我如法炮制,很輕松地在U盤系統里將主分區完成了擴容。

正當我滿心歡喜打算按照之前的方法進入系統再修復grub的時候,發現Linux系統卡在“Reached Target”這樣一句話,無法進入系統,這真是當頭一桶涼水。

Reached target Initrd File Systems Reached target Initrd Default Target

進行檢索之后發現如果等幾分鐘,系統會出現別的錯誤信息,我的大致是

ALERT! /dev/disk/by-uuid/xxxxxxxxx does not exist. Dropping to a shell initramfs:_

沒辦法,繼續檢索,試驗解決方案。

在這期間,我也明白了這是什么緣故。因為我改變了swap分區的大小和位置(之前在windows下移動了swap,也改變了大小),導致swap分區的uuid失效了,而linux啟動過程中是會按照之前記錄的swap分區的uuid進行掛載等操作的,比如/etc/fstab文件里就進行了掛載操作,但是應該不止于此,因為我在liveCD里改了這個文件也并沒有修復問題。

那么最終的解決方案是在這里,Ubuntu下的代碼為:

sudo mount /dev/sda1 /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt update-initramfs -u update-grub reboot

我又滿心歡喜地去LiveCD里進行如法炮制,結果在chroot的時候又報錯了,提示執行文件格式不正確。

好吧,查了一會之后發現是Gparted提供的liveCD是32位的,不能對64位系統進行chroot操作…

沒辦法,找別的LIVECD吧。在找的過程中,發現一個很好的網站,The LiveCD List · The LiveCD List,列出了一系列的LiveCD和其大致大小以及用途,通過RESCUE標簽和是否有64位進行篩選后,再進行U盤制作,啟動測試,發現有些無法正常啟動,OpenSUSE的RESCUE鏡像無法進入桌面,CentOS直接進入也會黑屏,還是調成Basic Graphic模式才能進。

搞了這么久總算快弄完了,在CentOS里輸入chroot,成功!但是,接下來兩命令又報錯…

好吧,這是Ubuntu的命令,我得找Fedora下等價的,如下:

dracut -f /boot/initramfs-currentimage grub2-mkconfig -o "$(readlink /etc/grub2.conf)"

然后重啟,還得再輸一遍

set root=(hd0,msdos13)/boot/grub2 set prefix=(hd0,msdos13)/boot/grub2 insmod normal normal

終于,成功進入了系統!

之后一點收尾工作,修復grub2,命令如下(因為我的系統在第二塊硬盤上,所以是sdb,另外這里不需要寫數字,比如sdb2之類的):

sudo /sbin/grub2-install /dev/sdb

感想

像grub rescue這種基礎的問題,Baidu就能很好提供解決方案了,但是像找update-initramfs和update-grub在Fedora下的等價命令,還是得靠Google,用AOL也行。

以前弄過Windows PE做的U盤系統,現在都能做Linux的U盤系統了,感覺自己這么幾年還是學到了一點東西嘛!

總結

以上是生活随笔為你收集整理的Fedora分区扩容以及如何修复引导的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。