参考:https://bbs.deepin.org/zh/post/211534,提供了思路,非常感谢原作者。
环境:
安装v23 beta3系统时:设置了3个分区:efi分区、/分区(ext4)、swap分区。
需求:
周末刚好想尝试下把系统分区转成,f2fs文件系统。可能更适合笔记本的nvme,延长寿命。
准备工作:
livecd:ubuntu-22.04.4-desktop-amd64.iso (尝试过deepin-desktop-community-23-Beta3-amd64.iso, tty2的startx进不了桌面,放弃)
移动硬盘:备份数据。
操作:
(1)在deepin商店中安装timeshift, 把 /分区 的数据备份到移动硬盘。
(2)进入livecd,sudo -i 切换到root,换清华源,apt install f2fs-tools,ubuntu软件商店中安装timeshift。
(3)使用ubuntu的gpartd,笔记本本机硬盘,格式化/分区为f2fs格式。或者使用命令行:
mkfs.f2fs -O extra_attr,inode_checksum,sb_checksum /dev/sdxY
(4)插上移动硬盘,ubuntu会自动挂载。
打开timeshift,选择rsync。
timeshift会自动找到移动硬盘的备份文件,点击恢复。
我没有拍照,参考别人的图,改成自己的分区情况。
注意在Device中 只选择 自己硬盘上所有的独立分区,其它都选择keep on root device。
故我的情况,选的是efi、/ 2个分区。
勾选2个即可。initramfs一般不用勾选, 之前已备份过了。
使用timeshift恢复后,可以检查下boot下文件有没有。
然后一直继续下一步,等待漫长的时间。
提示恢复完毕,重启即可。
问题来了
1 始终会进入grub命令行界面,无法正常引导
尝试过livecd 修复grub工具,手动命令安装到硬盘,chroot后安装到硬盘,都不行。
尝试过启动后在grub命令行中,各种set命令,都不行。
查询arch wiki:
尽管 GRUB 自2.0.4起支持 F2FS 文件系统,GRUB还是不能从启用extra_attr flag 的 F2FS 分区正确读取引导文件。 如果根目录分区是一个GRUB不支持的文件系统,那就需要为 /boot 单独分区,并使用一个支持的文件系统。某些情况下,GRUB 的开发版 grub-gitAUR 可能已经支持了那个文件系统。 如果将 GRUB 和一个不支持的文件系统一起用,它将无法提取到你的驱动器的 UUID,只能使用传统的名称 /dev/sdXx 来代替,而这个名称是可能会变化的。此时你可能需要手动编辑 /boot/grub/grub.cfg,将 root=/dev/sdXx 改为 root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX。你可以使用 blkid 命令来获取你的设备的 UUID ,参见 Persistent block device naming。
解决方法:
使用livecd, 新增boot分区ext4。
从3个分区变为4个分区,由于没有空间,f2fs不支持缩容,原先3个分区的位置顺序等缘故。所以除了第一个efi分区,其他3个分区都重建了。只能再次使用timeshift把系统分区的数据还原回来。
终于可以看见熟悉的grub引导项了。
2 开机启动慢,自检时间非常长,卡在系统启动的日志上
Dependency failed for Swaps.
Dependency failed for /dev/disk/by-uuid/xxxx
Timed out waiting for device /dev/disk/by-uuid/xxx
由于我重建了swap分区,uuid变了,忘了修改/etc/fstab。
尝试过,进入tty2,root居然没有修改权限,用livecd改了。
3 还是进不了deepin图形界面,卡在系统启动的日志上
failed xxx docker。
docker启动失败,然后livecd进入,rm /etc/systemd/system/multi-user.target.wants/docker.service。
先解决进入桌面的问题,以后再解决docker启动不了的问题。
4 还是进不了deepin图形界面,卡在系统启动的日志上
Failed to start Remount Root and Kernel File Systems.
我使用了arch推荐的选项参数,在fstab中:atgc,gc_merge,lazytime
~# find /boot -iname grub.cfg -exec ls -lh {} ; -rw-r--r-- 1 root root 4.8K 2月 8日 01:02 /boot/grub/grub.cfg -rwxr-xr-x 1 root root 117 2月 7日 21:31 /boot/efi/EFI/boot/grub.cfg -rwxr-xr-x 1 root root 117 2月 7日 21:31 /boot/efi/EFI/deepin/grub.cfg
nano /boot/grub/grub.cfg linux /boot/vmlinuz-6.6.7-amd64-desktop-hwe root=UUID=5562ce5c-7df8-49e0-ad00-91af27245a21 ro splash quiet DEEPIN\_GFXMODE=\$DEEPIN\_GFXMODE
搜索到ro,修改为rw即可。或者添加rootflags=atgc,测试过也可以。
最终成功进入系统桌面,docker问题也解决了:
systemctl enable docker.service
systemctl start docker.service
systemctl status docker.service
隐藏boot分区:https://bbs.deepin.org/post/203517,感谢网友。
先体验一段时间。
哈哈,我不是很熟悉,新手第一次用timeshift和grub命令行,很多不明白,各种失败。非常感谢,学习了!
Popular Ranking
Popular Events
参考:https://bbs.deepin.org/zh/post/211534,提供了思路,非常感谢原作者。
环境:
安装v23 beta3系统时:设置了3个分区:efi分区、/分区(ext4)、swap分区。
需求:
周末刚好想尝试下把系统分区转成,f2fs文件系统。可能更适合笔记本的nvme,延长寿命。
准备工作:
livecd:ubuntu-22.04.4-desktop-amd64.iso (尝试过deepin-desktop-community-23-Beta3-amd64.iso, tty2的startx进不了桌面,放弃)
移动硬盘:备份数据。
操作:
(1)在deepin商店中安装timeshift, 把 /分区 的数据备份到移动硬盘。
(2)进入livecd,sudo -i 切换到root,换清华源,apt install f2fs-tools,ubuntu软件商店中安装timeshift。
(3)使用ubuntu的gpartd,笔记本本机硬盘,格式化/分区为f2fs格式。或者使用命令行:
(4)插上移动硬盘,ubuntu会自动挂载。
打开timeshift,选择rsync。
timeshift会自动找到移动硬盘的备份文件,点击恢复。
我没有拍照,参考别人的图,改成自己的分区情况。
注意在Device中 只选择 自己硬盘上所有的独立分区,其它都选择keep on root device。
故我的情况,选的是efi、/ 2个分区。
勾选2个即可。initramfs一般不用勾选, 之前已备份过了。
使用timeshift恢复后,可以检查下boot下文件有没有。
然后一直继续下一步,等待漫长的时间。
提示恢复完毕,重启即可。
问题来了
1 始终会进入grub命令行界面,无法正常引导
尝试过livecd 修复grub工具,手动命令安装到硬盘,chroot后安装到硬盘,都不行。
尝试过启动后在grub命令行中,各种set命令,都不行。
查询arch wiki:
解决方法:
使用livecd, 新增boot分区ext4。
从3个分区变为4个分区,由于没有空间,f2fs不支持缩容,原先3个分区的位置顺序等缘故。所以除了第一个efi分区,其他3个分区都重建了。只能再次使用timeshift把系统分区的数据还原回来。
终于可以看见熟悉的grub引导项了。
2 开机启动慢,自检时间非常长,卡在系统启动的日志上
Dependency failed for Swaps.
Dependency failed for /dev/disk/by-uuid/xxxx
Timed out waiting for device /dev/disk/by-uuid/xxx
解决方法:
由于我重建了swap分区,uuid变了,忘了修改/etc/fstab。
尝试过,进入tty2,root居然没有修改权限,用livecd改了。
3 还是进不了deepin图形界面,卡在系统启动的日志上
failed xxx docker。
docker启动失败,然后livecd进入,rm /etc/systemd/system/multi-user.target.wants/docker.service。
先解决进入桌面的问题,以后再解决docker启动不了的问题。
4 还是进不了deepin图形界面,卡在系统启动的日志上
Failed to start Remount Root and Kernel File Systems.
查询arch wiki:
我使用了arch推荐的选项参数,在fstab中:atgc,gc_merge,lazytime
搜索到ro,修改为rw即可。或者添加rootflags=atgc,测试过也可以。
最终成功进入系统桌面,docker问题也解决了:
systemctl enable docker.service
systemctl start docker.service
systemctl status docker.service
隐藏boot分区:https://bbs.deepin.org/post/203517,感谢网友。
先体验一段时间。