jjcui8595
2024-04-05 23:03 deepin
学习了
Reply Like 0 View the author
学习了
学习了,感谢!
分享一下我的單SSD做的Live系統,squashfs檔和persistence都在f2fs上。😄
分享一下我的單SSD做的Live系統,squashfs檔和persistence都在f2fs上。😄
希望推出相关的介绍文章
希望推出相关的介绍文章
。這裡我用的 f2fs
分區的 label
名是 medium
而 EFI
的叫 DEEPINOS
。
EFI
分區下只有這些的:
boot cmdline
的 persistence-label=
那個f2fs的label 和 persistence
都是 live-boot
軟件包的一部份。並不是我加上去的,live-*
軟件包本身就挺多功能的。
然後你在 f2fs
分區下寫一個 persistence.conf
檔:
我這個例子比較多目錄和複雜,因為我這是事後在 persistence
加裝的 docker
但我又想每次都不保留 Live user
的東西,你可以自己定制屬於你需要的。
基本上是你需要為 union
的目錄下再 mkdir
多一個 rw
和 work
(即基本 overlay
的操作),bind
的你就只需要相對應的目錄。這裡沒有 link
的例子,你有需要時再了解 link
的作用吧。
persistence
├── etc
│ ├── apt
│ │ └── apt.conf.d
│ │ ├── rw
│ │ └── work
│ ├── default
│ │ ├── rw
│ │ └── work
│ ├── docker
│ ├── dpkg
│ │ └── dpkg.cfg.d
│ │ ├── rw
│ │ └── work
│ ├── init.d
│ │ ├── rw
│ │ └── work
│ ├── needrestart
│ ├── rc0.d
│ │ ├── rw
│ │ └── work
│ ├── rc1.d
│ │ ├── rw
│ │ └── work
│ ├── rc2.d
│ │ ├── rw
│ │ └── work
│ ├── rc3.d
│ │ ├── rw
│ │ └── work
│ ├── rc4.d
│ │ ├── rw
│ │ └── work
│ ├── rc5.d
│ │ ├── rw
│ │ └── work
│ ├── rc6.d
│ │ ├── rw
│ │ └── work
│ └── systemd
│ ├── rw
│ │ └── system
│ └── work
├── openharmony-docker
├── opt
├── usr
│ ├── rw
│ └── work
└── var
├── cache
│ ├── apt
│ │ ├── rw
│ │ └── work
│ └── man
└── lib
├── apt
│ ├── rw
│ └── work
├── docker
└── dpkg
├── rw
└── work
开头一张效果图
介于软件的迭代升级,所以对本文内容做一定的修改,对deepin23rc版本及以上适用
流程
sudo apt install f2fs-tools
sudo nano /etc/initramfs-tools/modules
sudo update-initramfs -u
选择一个你顺手的备份系统的工具,只备份文件,我这里选择用一个移动硬盘分出一块ext4的分区,用timeshift备份,采用rsync模式这样不管电脑硬盘怎么折腾都还有救。
选择一个自己趁手的Linux live系统,要能够接下来安装timeshift和f2fs-tools和gparted打开gp磁盘工具将除esp、swap分区外其它都可以格式化为f2fs,打开timeshift配置路径到我的移动硬盘,恢复之前备份的系统,选对分区与前分区数据的对应关系,否则恢复出问题。结束后timeshift会帮你把fstab文件按照新的分区情况刷新了。
接下来我们要修改几处文件
第一处:
第二处:
第三处:
重启验证,如果非正常启动看到grub命令界面了,可以依次输入如下并回车:
其中hd0代表第一块磁盘 gpt3代表第三个分区,这个依照自己的情况,root指引导内核所在分区。拔掉你的u盘避免干扰
这个时候电脑不出意外就启动了,重新执行一次update-grub命令,再检查一下
三个地方,对应的分区uuid值对不对
祝好运!