You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将VMware中的Ubuntu系统迁移至U盘并实现即插即用

如何将VMware中的Ubuntu系统迁移至U盘并实现即插即用

嘿,完全懂你不想舍弃原有Ubuntu系统数据的心情!我之前刚好折腾过类似的迁移操作,给你整理了一套亲测可行的步骤,一步步来就能搞定:

一、前期准备工作

  • 准备一个容量足够大的U盘:至少要比你VMware里Ubuntu系统实际占用的磁盘空间大出20%以上(留些冗余空间更稳妥),优先选USB3.0及以上的U盘,读写速度更快。
  • 给VMware里的Ubuntu做个快照:操作前先打个快照,万一出问题还能一键恢复原系统,稳得很。
  • 更新原系统:启动VMware里的Ubuntu,先执行sudo apt update && sudo apt upgrade -y把系统和软件更到最新,避免迁移后出现兼容性问题。

二、在VMware中挂载并分区U盘

  1. 把U盘插到物理机上,然后打开VMware的虚拟机设置,找到「可移动设备」里的U盘,选择「连接」,让Ubuntu虚拟机识别到U盘。
  2. 安装分区工具:执行sudo apt install gparted安装GParted图形分区工具,用它来给U盘分区更直观。
  3. 分区操作:
    • 打开GParted,在顶部下拉菜单选择你的U盘设备(别选错成原系统盘!可以通过容量判断)。
    • 删除U盘原有所有分区,然后创建新的分区表:如果原Ubuntu是UEFI启动,选GPT分区表;如果是BIOS启动,选MSDOS分区表。
    • 创建EFI分区(仅UEFI启动需要):新建一个200MB左右的分区,格式选FAT32,右键标记为「boot, esp」。
    • 创建根分区:新建一个足够大的分区,格式选EXT4,这就是用来装系统的分区。
    • (可选)创建Swap分区:如果需要虚拟内存,可以新建一个和物理内存大小相当的分区,格式选linux-swap。

三、克隆系统文件到U盘

  1. 挂载U盘分区:
    • 假设U盘的根分区是/dev/sdb2,EFI分区是/dev/sdb1(可以用lsblk命令确认设备名),执行以下命令挂载:
      sudo mkdir -p /mnt/usb
      sudo mount /dev/sdb2 /mnt/usb
      sudo mkdir -p /mnt/usb/boot/efi
      sudo mount /dev/sdb1 /mnt/usb/boot/efi
      
  2. 用rsync复制系统文件:这个命令会完整复制系统的所有文件,同时保留权限、属性等关键信息,比dd镜像更省空间:
    sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/usb
    
    耐心等复制完成,速度取决于U盘读写速度和系统大小。

四、修复U盘系统的启动引导(关键步骤!)

这一步是让U盘能独立启动的核心,别偷懒:

  1. 进入chroot环境,模拟在U盘系统里操作:
    sudo mount --bind /dev /mnt/usb/dev
    sudo mount --bind /proc /mnt/usb/proc
    sudo mount --bind /sys /mnt/usb/sys
    sudo chroot /mnt/usb
    
  2. 更新分区UUID(避免挂载失败):
    • 执行blkid查看U盘各分区的UUID,记下根分区和EFI分区(如果有)的UUID。
    • 编辑fstab文件:sudo nano /etc/fstab,把里面原来的分区UUID替换成刚才记下的U盘分区UUID,保存退出(Ctrl+O,回车,Ctrl+X)。
  3. 安装GRUB引导:
    • 如果是UEFI启动:
      grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Ubuntu-USB
      
    • 如果是BIOS启动:
      grub-install /dev/sdb  # 注意是整个U盘设备,不是分区!
      
  4. 更新GRUB配置:
    update-grub
    
  5. 退出chroot并卸载挂载:
    exit
    sudo umount /mnt/usb/boot/efi
    sudo umount /mnt/usb/dev
    sudo umount /mnt/usb/proc
    sudo umount /mnt/usb/sys
    sudo umount /mnt/usb
    

五、测试即插即用效果

把U盘从VMware虚拟机里断开,插到你想使用的物理机上,重启物理机,在开机时按对应的快捷键(比如F12、F2、Del等,不同品牌电脑不一样)进入启动项选择菜单,选中你的U盘启动。

第一次启动可能会因为硬件变化,Ubuntu自动安装适配的驱动,可能会重启一次,之后就能正常使用了!而且这个U盘系统和你VMware里的原系统完全独立,两边的数据互不影响~

备注:内容来源于stack exchange,提问作者sj T

火山引擎 最新活动