[deepin exploration] 从虚拟机到物理机,安装deepin到btrfs子卷之二
Tofloor
poster avatar
广雅居士
deepin
2024-04-06 09:11
Author

我的电脑上已经安装了debian12作为操作系统,现在想安装deepin做成双系统,应该怎么做呢?就是借助虚拟机。

我的debian上用的gnome-boxes虚拟机,别的虚拟机也大差不差。

首相在虚拟机安装deepin系统,分成efi分区、根分区、闲置的分区,根分区为了方便ext4就可以,我们要的是文件不是分区。

一切正常安装,注意有个分区是闲置不用的。安装完成后进入进入那个闲置分区的根目录,执行一下命令:

sudo mkdir a
#建立工作目录a
sudo mount /dev/sda2 a
#挂载根分区到目录a
sudo mksquashfs a deepin.sfs
压缩系统到一个sfs文件。

现在你就得到一个deepin.sfs文件,里面就是一个deepin操作系统,现在把这个文件导出到你的物理机硬盘上,我是用boxes导出到优盘再复制到硬盘,你也可用其他方法。

假设你把deepin.sfs放到了下载目录,我们进入下载目录,执行以下命令。

sudo mkdir a b
#建立工作目录a和b
sudo mount /dev/nvme0n1p2 a
#挂载物理机根分区到目录a,注意你的很可能和我的不一样。
sudo mount deepin.sfs b
#挂载deepin.sfs到目录b
sudo btrfs subvolume create a/@bootfs
#在根分区下建立@bootfs子卷,注意我的debian在@rootfs子卷。
sudo cp -a b/* a/@bootfs
复制系统文件到@bootfs子卷。

至此,一个半成品算是躺倒@bootfs里面了,之所以半成品,是因为它得grub.cfg文件和fstab文件还没改造。

fstab我是把debian的同名文件内容复制过去,不过把@rootfs换成了@bootfs而已。

grub.cfg文件现在用不着,因为我用的debian的引导配置文件,我直接把debian的配置文件引导菜单复制到/etc/grub.d/40_custom里,注意要把@rootfs换成@bootfs字样,相应的vmlinuz文件名和initrd.img名字也要相应改一下。

当然要把引导菜单的debian改成deepin了。


现在执行 sudo update-grub后就可以重启引导了。

Reply Favorite View the author
All Replies
阿尼樱奈奈
Moderator
2024-04-06 09:20
#1

like

Reply View the author
f@deepin
deepin
2024-04-06 09:22
#2

如法炮制,岂不轻松实现多系统么,妙哉
like

Reply View the author
广雅居士
deepin
2024-04-06 09:22
#3

这个lost+found目录就是遗留的,现在删除它。
image.png

Reply View the author
广雅居士
deepin
2024-04-06 09:23
#4
阿尼樱奈奈

like

真勤奋的版主。

Reply View the author
广雅居士
deepin
2024-04-06 09:23
#5
f@deepin

如法炮制,岂不轻松实现多系统么,妙哉
like

是的,掌握了方案多少系统都可以。

Reply View the author
广雅居士
deepin
2024-04-06 09:28
#6

修改efi分区的grub.cfg文件子卷名字,还可以决定谁是主系统。

search.fs_uuid 07637000-8874-4b66-9c78-71297540f429 root 
set prefix=($root)'/@rootfs/boot/grub'
configfile $prefix/grub.cfg
Reply View the author
广雅居士
deepin
2024-04-06 13:04
#7

等v23出了正式版,就用这个方法安装。

Reply View the author
AMZ
deepin
2024-04-07 06:51
#8

timeshift配合使用,同方案子卷安装,多系统切换

Reply View the author