当前位置:首页 > 技术文章 > 正文内容

系统小技巧:迁移通过Wubi方式安装的Ubuntu系统

当通过Wubi安装了Ubuntu系统的电脑需要升级更换硬盘,或者同一台Windows电脑希望同时安装32位和64位的Ubuntu时,直接迁移Ubuntu无疑是比较好的方法,它既不用重装系统也不用一个个重置大量的应用程序,省时省力。本文即为大家介绍,不同情况下Ubuntu的迁移方法。

Wubi安装的Ubuntu迁移原理

Linux有许多发行版本,Ubuntu便是其中之一,相比其他版本的Linux,Ubuntu更加易用,即便是Windows用户也能快速上手使用。Wubi则是指Windows下的Ubuntu安装程序(Ubuntu Installer for Windows),它让Ubuntu就好像是普通的Windows程序一样,可以简单地进行安装、删除或卸载等操作。

通过Wubi安装的Ubuntu系统实际存于X:\ubuntu\disks(此处X为Wubi安装的Ubuntu系统所在分区)文件夹下的Root.disk镜像文件中,Root.disk也是Linux的ext3文件系统的虚拟磁盘。打包拷贝X:\ubuntu\文件夹,复制到任何一台Windows电脑上,略加配置,不用重装便可以使用Ubuntu系统了。

单个Ubuntu的迁移

首先拷贝X:\ubuntu\文件夹到Windows电脑上的一个NTFS分区中,再拷贝X:\ubuntu\winboot\文件夹下的Wubildr和Wubildr.mbr引导文件到Windows系统所在的盘(假设为C盘)。

修改Windows引导菜单,如果是XP系统,则修改文件C:\boot.ini(系统默认是隐含和只读的,需要修改其属性才能编辑),在其最后加上一行代码:C:\Wubildr.mbr="Ubuntu"(图1)。

图1 编辑Windows XP的Boot.ini文件

如果用户使用的是Windows 7系统,则需要以管理员身份执行一个相应的BAT批处理脚本(图2、图3)。

图2 Windows 7下的启动脚本代码

图3 Windows 7启动脚本的运行

重启系统后,启动菜单中将多出“Ubuntu”选项,选择它启动电脑(图4、图5)。

图4 为Windows添加的启动菜单项

图5 选择Ubuntu进行启动

迁移的电脑硬盘分区与原安装电脑根本不同,引导Ubuntu就会出现uuid错误并进入Initramfs系统。可以键入“ls -l /dev/disk/by-uuid”命令,得到分区和uuid信息,记住这些信息后,键入“reboot”重启电脑(图6)。

图6 获取分区和uuid信息

电脑再次启动,选择Ubuntu的同时键入“e”,修改硬盘分区和uuid信息,按Ctrl+X或者F10键进入Ubuntu系统(图7)。

图7 修改硬盘分区和uuid信息

进入Ubuntu系统后,为保证下次正常引导,修改“/boot/grub/grub.cfg”配置文件完成迁移最后工作,修改的内容就是硬盘分区与uuid信息(图8)。

图8 修改“/boot/grub/grub.cfg”配置文件

多个Ubuntu的迁移

当一台电脑希望有两个Ubuntu系统(32位和64位系统)迁移并共存时,有两种方法实现。一种方法是拷贝并公用一套引导文件Wubildr和Wubildr.mbr,引导菜单中保持一项“Ubuntu”,每次引导系统前,将引导的X:\ubuntu\文件夹保留,另外一个重命名为X:\ubuntuxxx。按上面单个Ubuntu系统迁移方法分别引导并修改硬盘分区和uuid信息。

第二种方法是使用两套引导文件Wubildr和Wubildr.mbr,引导菜单中建立两项“Ubuntu”和“Ubuntu32”,两个系统文件夹X:\ubuntu\和X:\ubuntu32\。为区分两套引导文件Wubildr和Wubildr.mbr,必须构建新引导文件并命名为Wubil32和Wubildr32.mbr,同时拷贝到Windows系统盘,然后按上面单个Ubuntu系统迁移的方法,分别引导修改硬盘分区和uuid信息。

构建新Wubildr和Wubildr.mbr引导文件

Wubi安装的Ubuntu成功后会自动生成Winboot文件夹及Wubildr、Wubildr-bootstrap.cfg、Wubildr.cfg、Wubildr.mbr和Wubildr.tar文件。

构建新Wubildr.mbr为Wubildr32.mbr,新Wubildr为Wubil32,需要Wubildr.cfg和Wubildr-bootstrap.cfg文件。如果新引导文件引导的Ubuntu系统存放于X:\ubuntu32\文件夹,需要修改Wubildr.cfg文件,将Wubildr.cfg文件中所有的“/ubuntu/”替换为“/ubuntu32/”,然后执行下面的Shell脚本即可构建新的引导文件Wubildr32.mbr和Wubil32了(图9)。

图9 构建新引导文件的Shell脚本种建议形式)

相关文章

如何用CHAT配置linux的远程连接?(linux 远程cp)

问CHAT:配置linux的远程连接 1.下载ssh 2.启动ssh服务 3.查看ssh服务状态 4.设置ssh服务开机自启动 5.设置windows的cmd下ssh 6.通过cmd的ssh命令远程到...

linux下查看网络连接、进程、服务

实验环境:ubuntu2020,centos,以下命令适用不限于ubuntu和centos一、查看网络连接netstatnetstat 是一个告诉我们系统中所有 tcp/udp/unix socket...

Linux基础知识之查看io(查看linux的io使用情况)

1.查看占用IO高的磁盘:iostat -X -d -k 1 102.查看占IO的pid:pidstat -d3.查看pid进程:ps -aux | grep pid4.查看占用IO高的pid:iot...

【入门】linux服务器查看mysql相关的信息

查看mysql版本mysql --version查看mysql的运行状态systemctl status mysqld查看mysql安装目录which mysql # 输出示例:/usr/bin/my...

如何查看linux后台运行的进程?如何查看后台运行进程的状态?

linux系统中挂在后台的进程,如何能够被运维人员知道呢?以及挂在后台的进程当前状态是怎样的?是否可以继续执行?如何杀死一个在后台挂起的进程?后台进程可以通过‘&’符号或nohup命令,让程序进入...

linux 查看磁盘信息的常用命令(linux中查看磁盘的命令)

在Linux系统中,排查磁盘问题是一个非常重要的任务,以下是一些常用的Linux排查磁盘问题的命令:df:查看磁盘分区的使用情况,可以查看磁盘分区的总容量、已用容量、可用容量等。du:查看文件或目录的...