如何缩小,克隆整个Linux磁盘并引导它?

斜线

我有一个运行在1024 GB磁盘(磁盘A)上的Ubuntu 14.04,该磁盘最多只能使用130 GB的空间。我想将其克隆到256 GB SSD磁盘(磁盘B)。但是失败了。

gparted为了成功准备磁盘B,我曾经将磁盘A上的分区缩小到只有180 GB。

你能告诉我哪里错了吗?

1)还原分区表

我确实备份了磁盘A的分区表。

└──╼ $ sudo sfdisk -d /dev/sda
# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=     2048, size=   997376, Id=83, bootable
/dev/sda2 : start=   999424, size= 15624192, Id=82
/dev/sda3 : start= 16623616, size=337020928, Id=83
/dev/sda4 : start=        0, size=        0, Id= 0

尖端

/dev/sda1/boot/dev/sda2swap/dev/sda3/

保存分区表

sudo sfdisk -d /dev/sda > partition.table

然后,我尝试将分区表还原到磁盘B(/dev/sdc在这种情况下)。

我替换sdasdcin file partition.table然后看起来像:

# partition table of /dev/sdc
unit: sectors

/dev/sdc1 : start=     2048, size=   997376, Id=83, bootable
/dev/sdc2 : start=   999424, size= 15624192, Id=82
/dev/sdc3 : start= 16623616, size=337020928, Id=83
/dev/sdc4 : start=        0, size=        0, Id= 0

然后,成功执行还原。

sudo sfdisk /dev/sdc < partition.table

2)迁移磁盘分区内容

sudo dd if=/dev/sda1 of=/dev/sdc1

sudo dd if=/dev/sda2 of=/dev/sdc2

sudo dd if=/dev/sda3 of=/dev/sdc3

迁移之后,可以挂载和查看/ dev / sdc上的那些分区。

失败

但是,如果我将SSD磁盘(磁盘B)插入笔记本电脑,则在某些Thinkpad BIOS输出后它将无法启动。没有错误出现,但光标闪烁...

我敢打赌,引导时BIOS甚至没有检测到/boot磁盘B。

你能帮助我吗?非常感谢!


更新

有人建议我用grub-install /dev/sdc这个技巧。

我搜索了grub-install有能力的-链接让我尝试。而且我非常确定磁盘A(已安装MBR)。


更新

完成后dd if=/dev/sda of=/dev/sdc bs=512 count=1,仅插入磁盘B,它仍然是闪烁的光标。完全没有BIOS之后。

完成后,grub-install --boot-directory=/mnt/mypartition/boot /dev/sdc我只启动了磁盘B。

但是grub控制台出来了。并报告

在此处输入图片说明


更新

现在它正在工作!!!

这是我的操作方法,在运行磁盘A作为OS以及磁盘B(/dev/sdc)作为USB硬盘的PC上

sudo mount /dev/sdc3 /mnt
sudo mount /dev/sdc1 /mnt/boot

sudo grub-install --boot-directory=/mnt/boot /dev/sdc3

然后去了/mnt/boot/grub/grub.cfg,我确实替换了文件中的2件事grub.cfg(请记住要授予该文件的写许可权grub.cfg

替换hd1hd0

替换/dev/sdc3/dev/sda3

然后保存文件。->关闭计算机电源->通过SATA插入磁盘B,并永久取出磁盘A。->启动->看到grub错误,但仍然启动

如果遇到错误Error: invalid environment block. Press any key to continue,请检查此问题以解决。按任意键将引导您的系统。https://askubuntu.com/questions/191852/error-invalid-environment-block-press-any-key-to-continue

sudo -i

然后,逐个运行每个命令。

cd /boot/grub
rm grubenv
grub-editenv grubenv create
grub-editenv grubenv set default=0
grub-editenv grubenv list
update-grub

现在重新启动,它将起作用!

This is how I shrank my 1024GB disk hard drive and migrated the entire system to a new 256GB SSD disk.

jc__

I am not familiar with sfdisk, but you could accomplish the same thing, partition table AND MBR back up using dd.

This was in my notes and I am not the author...

Backing up the MBR

The MBR is stored in the the first 512 bytes of the disk. It consist of 3 parts:

  • The first 446 bytes contain the boot loader.
  • The next 64 bytes contain the partition table (4 entries of 16 bytes each, one entry for each primary partition).
  • The last 2 bytes contain an identifier

Clone the MBR as mbr.img:

dd if=/dev/sdX of=/path/mbr_file.img bs=512 count=1

Clone partition as pX.img

dd if=/dev/sdX of=/path/pX.img bs=1024

Restore the MBR to new disk

dd if=/path/mbr_file.img of=/dev/sdY bs=512

Restore Partition to new disk

dd if=/path/pX.img of=/dev/sdX bs=1024

OR

You could use clonezilla to make an image of the OS and restore it on a disk that already has the partitions created.

这样,您可能需要在新磁盘上重新安装grub

grub-install

grub-mkconfig

并在“新”操作系统中设置交换分区。

mkswap

swapon

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将整个磁盘克隆到更大的磁盘上然后卸载?

来自分类Dev

磁盘克隆:是否可以加快整个过程?

来自分类Dev

如何克隆整个 Realm?

来自分类Dev

如何从磁盘和引导中删除辅助Linux OS?

来自分类Dev

Linux内核:如何从分区磁盘获取整个磁盘的dev_t?

来自分类Dev

如何克隆整个实例 ServiceNow

来自分类Dev

如何使用DD从磁盘映像克隆分区?

来自分类Dev

如何使用DD从磁盘映像克隆分区?

来自分类Dev

如何挂载btrfs磁盘的dd克隆?

来自分类Dev

磁盘克隆后如何让ubuntu再次启动?

来自分类Dev

如何使用jQuery或CSS缩小整个网站?

来自分类Dev

如何使用clonezilla将较大的磁盘克隆到较小的磁盘?

来自分类Dev

如何将分区从较大的磁盘克隆到较小的磁盘

来自分类Dev

从外部USB磁盘引导LUKS Linux安装

来自分类Dev

如何在Javascript中克隆整个表?

来自分类Dev

如何在整个磁盘上使用Zerofree?

来自分类Dev

如何正确获取整个磁盘的UUID?

来自分类Dev

是否可以从MBP将Linux ISO写入外部磁盘,然后直接在同一MBP或其他MBP上引导它?

来自分类Dev

在mdadm降级的RAID阵列上缩小LVM物理卷,添加备用磁盘并重建它

来自分类Dev

如何从Linux内核克隆模块?

来自分类Dev

使用Clonezilla进行磁盘到磁盘可引导克隆之前,需要对目标硬盘进行什么操作?

来自分类Dev

我有一个Linux可以看到的磁盘,它具有一个带有一个NTFS分区的完美GPT,但是Win10表示整个磁盘都未初始化

来自分类Dev

缩小VDI磁盘

来自分类Dev

如何在不丢失数据的情况下在 Arch Linux 中从 EFI 转换为 MBR 引导加载程序(和/或 GPT 磁盘到 MBR 磁盘)

来自分类Dev

如何通过dd最大化磁盘克隆的速度?

来自分类Dev

残留的Ubuntu分区阻止了磁盘克隆,如何删除?

来自分类Dev

如何在Windows 7中复制/克隆动态磁盘?

来自分类Dev

使用CSS(Firefox)缩小时如何使整个网站与顶部对齐?

来自分类Dev

USB引导安装Linux无法识别磁盘空间

Related 相关文章

  1. 1

    如何将整个磁盘克隆到更大的磁盘上然后卸载?

  2. 2

    磁盘克隆:是否可以加快整个过程?

  3. 3

    如何克隆整个 Realm?

  4. 4

    如何从磁盘和引导中删除辅助Linux OS?

  5. 5

    Linux内核:如何从分区磁盘获取整个磁盘的dev_t?

  6. 6

    如何克隆整个实例 ServiceNow

  7. 7

    如何使用DD从磁盘映像克隆分区?

  8. 8

    如何使用DD从磁盘映像克隆分区?

  9. 9

    如何挂载btrfs磁盘的dd克隆?

  10. 10

    磁盘克隆后如何让ubuntu再次启动?

  11. 11

    如何使用jQuery或CSS缩小整个网站?

  12. 12

    如何使用clonezilla将较大的磁盘克隆到较小的磁盘?

  13. 13

    如何将分区从较大的磁盘克隆到较小的磁盘

  14. 14

    从外部USB磁盘引导LUKS Linux安装

  15. 15

    如何在Javascript中克隆整个表?

  16. 16

    如何在整个磁盘上使用Zerofree?

  17. 17

    如何正确获取整个磁盘的UUID?

  18. 18

    是否可以从MBP将Linux ISO写入外部磁盘,然后直接在同一MBP或其他MBP上引导它?

  19. 19

    在mdadm降级的RAID阵列上缩小LVM物理卷,添加备用磁盘并重建它

  20. 20

    如何从Linux内核克隆模块?

  21. 21

    使用Clonezilla进行磁盘到磁盘可引导克隆之前,需要对目标硬盘进行什么操作?

  22. 22

    我有一个Linux可以看到的磁盘,它具有一个带有一个NTFS分区的完美GPT,但是Win10表示整个磁盘都未初始化

  23. 23

    缩小VDI磁盘

  24. 24

    如何在不丢失数据的情况下在 Arch Linux 中从 EFI 转换为 MBR 引导加载程序(和/或 GPT 磁盘到 MBR 磁盘)

  25. 25

    如何通过dd最大化磁盘克隆的速度?

  26. 26

    残留的Ubuntu分区阻止了磁盘克隆,如何删除?

  27. 27

    如何在Windows 7中复制/克隆动态磁盘?

  28. 28

    使用CSS(Firefox)缩小时如何使整个网站与顶部对齐?

  29. 29

    USB引导安装Linux无法识别磁盘空间

热门标签

归档