我已經運行 Pop!_OS 一段時間了,並決定安裝 Kubuntu。我啟動到 Kubuntu USB 驅動器首先嘗試一下,並決定使用 KDE 分區管理器準備安裝分區。
該 SSD 已經有 4 個分割區:(sda1
舊 Windows 安裝)、sda2
(資料)、sda3
(Pop!_OS)和sda4
(交換)。為了為 Kubuntu 的新分割區騰出空間,我將最後的分割區縮小了sda2
30Gb,但無法格式化這個未指派的空間,因為已經有 4 個主分割區。所以我決定刪除sda1
,將其未分配的空間移動到右側sda2
並將該空間添加到sda2
.應用操作時出現錯誤(有關大小不符的問題)並且被中止。
sda2
重新啟動 Pop!_OS,我可以看到從那裡獲取的 30Gb 未分配空間,並且sda1
沒有觸及,但我無法掛載sda2
:
以下是 GParted 現在顯示的內容:
以下是以下資訊sda2
:
和輸出fdisk -l
:
(分割表條目不按磁碟順序排列)。
由於似乎可能存在多個問題,我決定暫時不碰它並尋求一些建議,我真的很想恢復該分區中的資料。如果需要更多信息,我很樂意提供。很抱歉話題很長,非常感謝您抽出寶貴的時間。
更新:
在等待任何回饋時,我嘗試使用 fdisk 修復分區表條目的順序。完成該過程後(並且必須修復 GRUB 才能重新引導),fdisk 不會將它們報告為故障。
我做的另一件事是check
在該分割區上使用 gparted 的選項,它傳回了一些更有趣的資訊:
GParted 0.32.0 --enable-libparted-dmraid --enable-online-resize
Libparted 3.2
Check and repair file system (ext4) on /dev/sda2 00:00:00 ( ERROR )
calibrate /dev/sda2 00:00:00 ( SUCCESS )
path: /dev/sda2 (partition)
start: 275396608
end: 782370815
size: 506974208 (241.74 GiB)
check file system on /dev/sda2 for errors and (if possible) fix them 00:00:00 ( ERROR )
e2fsck -f -y -v -C 0 '/dev/sda2' 00:00:00 ( ERROR )
The filesystem size (according to the superblock) is 71051776 blocks
The physical size of the device is 63371776 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort? yes
e2fsck 1.45.3 (14-Jul-2019)
這就是開始這一切的錯誤,我只是沒有設法保存該資訊。在我看來,分割區根本不知道它的實際大小?一開始有超過 270GB,然後我刪除了 30GB 作為新分割區。 Thunar 報告它有 260GB,Dolphin、GParted 和 fdisk 報告它有 240GB,這是有道理的。現在我該如何解決這個問題,而不讓事情變得更糟?再次非常感謝大家的閱讀。
答案1
看起來您在縮小分割區後忘記調整檔案系統的大小。您必須使用resize2fs
來將檔案系統縮小到小於分割區。分區不能小於檔案系統
resize2fs /dev/sda2 239G
這將為您提供一千兆空間,以確保檔案系統小於分割區本身。
答案2
給了這個建議沒有任何保證,特別是考慮到我們無法知道您的分區/檔案系統到底發生了什麼。
在更改分割區和/或檔案系統之前,您應該備份原始數據,例如從 Live CD/DVD/USB 啟動並將整個磁碟複製到安全位置。將其儲存為壓縮的常規檔案(以節省空間)非常簡單:
$ sudo gzip -c /dev/sda >/path/on/safe/storage/sda.img.gz
也就是說,看起來您的分割區管理器已成功縮小sda2
(分割區),但未能縮小所包含的檔案系統。
您應該能夠透過執行以下命令來確認 GParted 所說的內容:
$ sudo fsck.ext4 -v -f /dev/sda2
(y
如果要求您中止,請回答)。
我建議您將檔案系統的大小恢復sda2
到原來的大小,而不是嘗試調整檔案系統的大小。或者,無論如何,sda2
根據其右側的可用空間量來增長。如果包含的檔案系統沒有損壞,這應該可以再次安裝它,至少允許您在嘗試重新縮小該分割區之前備份資料。
根據個人喜好,我會使用GNU 分手了編輯分區表並重新建立第二個分區 ( sda2
):
$ sudo parted /dev/sda
(parted) unit s
(parted) rm 2
(parted) mkpart primary ext4 275396608 843810815
(parted) quit
當然,這是基於fdisk
您最初發布的輸出。如果此後發生變化,您可能需要對其進行調整。
(使用fdisk
代替parted
也很簡單:在 後sudo fdisk /dev/sda
,使用p
來檢查分區表,d
然後2
刪除sda2
,n
然後刪除p
,275396608
作為第一個扇區,沒有任何內容作為最後一個扇區(默認情況下將選擇連續可用空間的最後一個扇區) )重新創建sda2
,w
然後儲存 sudo partprobe -s /dev/sda
。
然後,您可以檢查檔案系統(如上所述,使用fsck.ext4 -v -f /dev/sda2
)並再次掛載sda2
。
最後,您可以重試收縮sda2
:您正在使用的工具(包括 KDE 分割區管理器)應該能夠做到這一點。我只是建議您一次保存/應用一個操作(例如刪除sda1
或收縮sda2
或移動sda2
...)並避免將其中的幾個操作排隊——這會增加遇到一些未經測試的極端情況的可能性。