我想创建我的系统的映像文件,然后加载该文件并恢复我的系统,就像现在一样。
我问这个问题的原因是我想升级我的笔记本电脑的硬盘(我已经买了一个固态硬盘)。请注意,我不需要只克隆我的根分区。
由于我使用笔记本电脑大约三个月,我安装了一些东西,我不想丢失(程序,配置等)。
我的问题是:
创造这种形象的最佳方式是什么
升级后如何加载
有问题吗(如果有,能以某种方式解决吗?),因为我的驱动器有 700 GB 的存储空间,而 SSD 有 256 GB
我应该将该文件存储在什么介质中(我认为它会有点大。那么 CD、DVD 还是另一个外部硬盘?)
我看了一下 Clonezilla,但正如我在一些教程中看到的,我只能克隆一个分区。
我需要克隆 /、swap 和 /media/{username} 分区,然后在新驱动器中恢复它们。
我当前的分区布局是:
Number Start End Size Type File system Flags
1 1049kB 250GB 250GB primary ext4 boot
2 250GB 255GB 4999MB extended
5 250GB 255GB 4999MB logical linux-swap(v1)
3 255GB 750GB 495GB primary ntfs
df -h 给出:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 230G 34G 184G 16% /
none 4,0K 0 4,0K 0% /sys/fs/cgroup
udev 2,5G 12K 2,5G 1% /dev
tmpfs 510M 1,2M 509M 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 2,5G 107M 2,4G 5% /run/shm
none 100M 52K 100M 1% /run/user
/dev/sda3 462G 5,7G 456G 2% /media/johnnemo/E
您能否为我提供实现此目标所需的步骤(或至少一个详细解释这些步骤的链接)?
提前致谢。
答案1
我将发布一种不使用磁盘映像的方法。在这种情况下,操作有点复杂。
总的来说,750 GB 的磁盘上有大约 40 GB 的数据。制作完整磁盘映像会浪费大量时间和空间。
鉴于 SSD 是一个小得多的磁盘,我建议复制内容而不是整个磁盘/分区:
- 根据磁盘使用情况规划新磁盘的布局。例如:100GB 用于
/
(包括/home
),5GB 用于交换,其余约 150GB 用于 NTFS 分区。 将内容存档到外部驱动器(DVD 太小),大约有 40GB 的空间。为此,请启动到实时 USB,连接外部磁盘并执行以下操作:
sudo mount /dev/sda1 /mnt sudo tar -zcf /media/some-disk/root.tar.gz -C /mnt . sudo umount /mnt sudo mount /dev/sda3 /mnt sudo tar -zcf /media/some-disk/E.tar.gz -C /mnt . sudo umount /mnt
这
/media/some-disk
是外部磁盘的安装位置。我们正在创建压缩档案,这可能会节省一点空间,因此您可以使用不到 40GB 的磁盘可用空间。交换磁盘,再次启动到实时 USB,使用 GParted 或 Disks 或您首选的分区工具创建相应的分区。假设它们的编号方式相同。现在我们提取文件。
sudo mount /dev/sda3 /mnt sudo tar -zxf /media/some-disk/E.tar.gz -C /mnt sudo umount /mnt sudo mount /dev/sda1 /mnt sudo tar -zxf /media/some-disk/root.tar.gz -C /mnt
请注意,我尚未卸载
/mnt
,并且它已安装根文件系统。现在我们将其设置为正确启动。这涉及更新 GRUB 和系统的
fstab
。这是 AskUbuntu 上 OP 调整分区大小时经常出现的问题。步骤如下:记下新根分区和交换分区的 UUID。使用
blkid
或lsblk
命令。例如:$ sudo blkid /dev/sda1: UUID="d3504dc2-8f01-48f1-be05-d265110e2e73" TYPE="ext4 /dev/sda5: UUID="1895a8c0-f6ea-48fc-a074-ead385f6c7f3" TYPE="swap
chroot
到已安装的系统:for i in /dev /dev/pts /sys /proc; do mount --bind $i /mnt$i; done chroot /mnt /bin/bash -l
在 中
chroot
,更新 fstab:sudo nano /etc/fstab
更改根分区和交换分区的 UUID:
# / was on /dev/sda1 during installation UUID=d3504dc2-8f01-48f1-be05-d265110e2e73 / ext4 errors=remount-ro 0 1 # swap was on /dev/sda5 during installation UUID=1895a8c0-f6ea-48fc-a074-ead385f6c7f3 none swap sw 0 0
现在安装并更新 GRUB:
grub-install /dev/sda update-grub
退出
chroot
并重新启动:exit reboot
- 完毕。