嘗試建立具有可選持久性的自訂 RAM 支援的 Ubuntu Live USB

嘗試建立具有可選持久性的自訂 RAM 支援的 Ubuntu Live USB

我一直在絞盡腦汁試圖找出最好的方法來做到這一點。聽起來可能有點令人困惑,所以讓我解釋一下“為什麼”第一的。

我已經有一個Linux live USB 記憶棒(在高階256GB 三星USB 記憶棒上,速度與SSD 一樣快,效果很好!)但我想要的是創建一個不同的L​​inux USB 記憶棒,僅用於執行基本批次操作諸如雲端恢復或同時在不同筆記型電腦/桌上型電腦上執行相同維護腳本之類的任務。其中一些處於不同的狀態、不同的作業系統,有些甚至沒有網路連接...但是將我需要的檔案放在 Linux USB 中以及標準化的腳本運行/恢復環境是完美的。

問題是,我的 USB 記憶棒數量顯然有限。我想要的是能夠啟動進入作業系統並將其全部保留在 RAM 中,然後拔出 U 盤,不會發生任何奇怪的事情,它會繼續運行。那麼猜猜這個開箱即用的功能是什麼? “嘗試 Ubuntu”模式下的 Ubuntu Live 22.04 安裝程式。這也具有比標準 22.04 安裝佔用更少空間的優點,這也意味著更少的 RAM 使用,因為磁碟完全儲存在 RAM 中。據我觀察,它只佔用 1.6GB。

更新:透過從 grub 中刪除maybe-ubiquity,我能夠讓系統直接啟動到 Live Ubuntu 而不是安裝程式。感謝@Raffa 的幫助。其次,我能夠/casper/filesystem.squashfs透過使用該unsquashfs工具、啟動虛擬機器、更改內容並重新製作它來自訂非持久性檔案系統(在 )。然而,這非常不方便,特別是如果您只想進行一些小調整的話。

另外,我可以確認,即使toram將選項新增至 grub,持久分區(僅供參考,您只需將 ext4 分區命名為「可寫入」並使用該persistent選項啟動即可取得)也不會被快取。移除 USB 後,系統將立即發生故障並最終掛起/崩潰。然而,在非持久模式下,當 USB 被移除時,一切都變得良好且穩定。我甚至編寫了一個腳本,可以在啟動時安全地卸載 USB,因此您可以在看到桌面出現後立即將其刪除。

我的一個想法是,我可以自動執行 unsquishing 和 resquashing 過程,這樣您就可以像平常一樣啟動到非持久模式,但在執行腳本時,RAM 內容會寫回 filesystem.squashfs 中。如果系統意外關閉,這存在資料遺失的風險,但考慮到我只會每隔一段時間進行更改,並且在大多數情況下僅使用非持久模式,這對我的用例來說是有意義的。

相關內容