如何卸載/?很忙

如何卸載/?很忙

我正在嘗試使用 Zerofree,這似乎是這個問題的答案:如何減小虛擬機器大小?

我已成功卸載 /dev/sda1,zerofree 工作正常,釋放了約 37gb。

但我似乎無法卸載或重新安裝為只讀 /dev/mapper/mypc-root,它說:

umount: / is busy

或者

mount: / is busy

使用的命令是:

$ umount /dev/mapper/mypc-root
$ mount -no remount,ro -t ext2 /dev/mapper/mypc-root /

我處於單一使用者模式,使用“init 1”輸入。

來賓 SO 是 Ubuntu 12,具有加密的 LVM 和 home。

有任何想法嗎?

答案1

/無法從系統中卸載,因為/系統本身正在使用(因此您看到的訊息)。

您需要從 Live-CD 執行此程序。

答案2

當您刪除了根檔案系統上的檔案但仍開啟檔案時,通常會發生這種情況。某些進程保留對檔案的引用,並且在關閉之前無法在磁碟上釋放它。更新系統庫是造成這種情況的一種方法。

由於處於乾淨狀態的檔案系統無法包含已刪除但未釋放的文件,因此核心將拒絕重新掛載唯讀檔案系統。

重新啟動這些進程會有所幫助。它允許核心釋放文件,並且可以乾淨地卸載文件系統。

另一種選擇是使用 SysRq 鍵強制進行唯讀重新安裝:

echo u > /proc/sysrq-trigger

這是安全的,但會導致核心/fsck 在下次掛載/運行時抱怨。

答案3

你可以關注這個帖子: https://unix.stackexchange.com/questions/42015/mount-is-busy-when-trying-to-mount-as-read-only-so-that-i-can-run-zerofree

就我而言,我不想擔心終止進程。由於我的 VirtualBoX 中有兩個虛擬機,因此我安裝了需要在另一個虛擬機上壓縮的虛擬機磁碟,並將其從該計算機上清除。

相關內容