Kernel

如何將實時根 ext3 文件系統轉換為 ext4?

  • August 22, 2011

我有一個實時和掛載的根文件系統,我想將它轉換為 ext4。我讀過的所有方法都與啟動 Live CD 相關,但這不是一個選項。

看來我原來的文章是完全錯誤的。您可以在掛載時將 ext3fs 分區轉換為 ext4fs 分區,因為轉換過程實際上不會更改先前寫入使用擴展區的文件。ext4 howto中記錄了這一點,以及為什麼嘗試對您來說是一個非常糟糕的主意的所有原因:

  • 沒有任何現有文件被轉換,因此您不會獲得任何性能提升(並且根據每個分發說明,一些核心在處理這些導入的文件時存在錯誤)
  • 您需要有一個支持 ext4 的引導載入程序,如果不支持,直到它停止引導才會知道(由於文件在轉換過程中沒有更改,引導載入程序仍然可以找到它,直到文件有被替換或移動)。
  • 如果 ext4 沒有內置到你的核心中,你必須確保你的 initrd/initramdisk 有它的模組。
  • 您需要更新所有 fstab 和核心引導參數以顯示文件系統是 ext4,因為它不再掛載為 ext3。
  • 必須重新啟動系統
  • 重新啟動後,分區將需要 fsck(使用理解 ext4 的 fsck 版本)

howto 還列出了每個發行版所需的一些更改,因此您可以確定要安裝哪些軟體包的正確版本。

如果無法從 LiveCD 啟動,我認為這是一個遠端託管的伺服器,您不能只是從 cd 啟動。如果上述其中一項失敗,當您重新啟動後它沒有恢復時,您將如何處理它?fsck 你的根分區需要多長時間,所以你會知道在你開始擔心之前給它多長時間,還有多長時間直到你開始出汗?

否則,如果您確信自己已正確完成所有操作並以正確的方式設置了所有內容,請執行

tune2fs -O extents,uninit_bg,dir_index /dev/partitiondevice
shutdown -r now

引用自:https://serverfault.com/questions/303626