準備系統

準備系統

我有一個全新的 SSD,我想在上面安裝 12.04,並使用 nilfs 作為根分割區的檔案系統。

我找不到任何簡單的方法來做到這一點。如果我從 12.04 LiveCD 啟動,我可以安裝 nilfs-tools(我必須透過 wget 下載它——我似乎無法 apt-get)並且我能夠透過 mkfs.nilfs 將分割區格式化為 nilfs。

但是,當我單擊“安裝Ubuntu”並啟動安裝程式並告訴它我要選擇分割區時,它想要重新格式化它,並且只為我提供其他檔案系統(reiser、ext 等)的選項,但沒有nilfs,儘管nilfs 支援已安裝(我能夠在我的分割區上建立 nilfs 檔案系統)。

有什麼提示或建議嗎?

答案1

正如 Roland Taylor 指出的,您可以先使用安裝程式安裝到 ext4 分割區,然後將其傳輸到 nilfs 分割區。

為系統準備一個空閒分區。它將被安裝為/,我們稱之為 NILFS。

而你需要另一個分割區來安裝Ubuntu,它可以是U碟或磁碟上的另一個分割區,我們稱之為EXT。

您不需要單獨的/boot分割區,因為 Ubuntu 12.04 隨附的 grub 1.99 已經支援從 nilfs2 檔案系統啟動。

準備系統

您可以對 EXT 進行正常的 Ubuntu 安裝。

安裝nilfs-tools,並將空閒分割區格式化為nilfs2。

預設情況下,Ubuntu 的 initramfs 中沒有 nilfs 核心模組。

您需要重新產生它:

sudo echo nilfs2 >> /etc/initramfs-tools/modules
sudo update-initramfs -u

轉移系統

啟動至 Ubuntu 12.04 livecd。安裝 nilfs 工具。 (您需要先在軟體中心更改來源apt-get install nilfs-tools。)

安裝 EXT 和 NILFS,然後複製您的系統:

sudo cp -ax /media/EXT/* /media/NILFS/*

(您可以使用rsync它來代替。)

然後編輯你的/media/NILFS/etc/fstab,改變行/。 (更改 uuid、ext4->nilfs2。我建議添加noatime,async,discardSSD 的掛載選項。)

然後編輯 grub 配置並重新安裝 grub。看烏班圖維基了解如何使用 grub 進行調整。請注意,您需要在重新安裝之前更改 grub 設定檔。我建議 chroot 到 NILFS,然後用來dpkg-reconfigure更改配置並立即重新安裝。

現在您可以重新啟動到基於 nilfs2 的 Ubuntu 12.04! :-)


雖然我沒有測試過,但上面的說明應該有效。事實上,我已經使用相同的方法將 Ubuntu 10.04 從 ext3 轉移到 nilfs2。由於 Ubuntu 10.04 的 grub 不支援從 nilfs2 啟動,因此我使用 ext2 作為/boot.但最近我下載了 Ubuntu 12.04 live cd 來測試 12.04 是否可以在我的上網本上運行。所以剛才我已經複製/boot//分區,更改了 grub 設定檔並使用 12.04 的 grub-install 重新安裝 grub。它成功了! (那麼也許我可以將無用的分離啟動分區變成一個小的交換分區?)

PS如果您不喜歡這種方法,您可以嘗試透過debootstrap安裝。我認為它也會起作用。

答案2

本質上,您目前還不能執行此操作,因為安裝程式不支援它。

從技術上講,可以將安裝從EXT4 轉移到NILFS(安裝到分割區,然後轉移到NILFS 分割區),但您還需要一個單獨的開機分割區(如您所看到的,這變得越來越複雜) 。

本質上,目前的答案是「你不能」。另外,請記住 NILFS 相當新,因此不太可能支持這樣的舉措。

相關內容