这个是重头戏。有资料说可以直接把正在运行的系统拷贝到其他分区上,不过我怕那样可能出现问题,于是采用了在另外一个系统中拷贝的方法。在已经使用了 unionfs(aufs)的系统中似乎无法再挂载其他的unionfs文件目录,所以我们需要一个纯净的环境把现有的文件系统挂载起来,然后再拷贝。不幸的是我们一直使用的gnix_oag大侠的这种安装方式就使用了unionfs,所以不能用来实现下面的操作。不过他的initrd环境里有所有我们需要的东西。为了启动到这个initrd环境中,需要把你用loop方式安装的ubuntu文件夹改个名字,比如从feisty改成feisty1,然后启动,由于找不到需要的文件,它就停在initrd的命令行环境下了,这是一个功能非常简单的mini系统,命令提示符是 “(initramfs)”,在这里执行下面的命令就行了。
首先是准备一大堆用来挂载文件系统的临时目录:
mkdir inst cd casper 02 03 rwfs union new
挂载feisty1目录所在的设备,假设你的feisty1目录是在/dev/hda1上:
mount /dev/hda1 inst
挂载文件:
mount -o loop inst/feisty1/ubuntu-7.04-desktop-i386.iso cd
mount -o loop cd/casper/filesystem.squashfs casper
mount -o loop inst/feisty1/02*.rofs 02
mount -o loop inst/feisty1/03*.rofs 03
mount -o loop inst/feisty1/ubuntu.fs rwfs
终于可以使用aufs把这些loop文件合并成我们一直使用的root目录了:
mount -t aufs -o dirs=rwfs=rw:03=ro:02=ro:casper=ro unionfs union
注意,这行里各个目录的顺序是不能改动的!现在union目录下面就是我们熟悉的整个root目录了,把它拷贝到新分区去:
mount /dev/sda1 new
cp -a union/* new
其中/dev/sda1是我刚刚新建的分区。拷贝过程需要几分钟,先休息一下吧。其间看到一些zlib出错的提示,似乎不影响使用,至少我这里没问题。
拷贝完成后修改一下new/etc/fstab文件,删除里面原有的挂载root和swap目录的行,替换成下面这两行:
UUID=9a92ac52-bc67-49bd-8a54-00370f78658a / ext3 defaults,errors=remount-ro 0 1
UUID=77f87526-0686-47c1-b0da-37d178292d2e none swap sw 0 0
同样uuid可以直接用设备号代替。
好了,现在umount刚才挂载的所有分区,重启计算机,选择“Ubuntu Linux 7.04 Mobile”体验一下新系统吧!以后如果需要升级内核,对于用2a方式启动的,把新的vmlinuz和initrd拷贝出来然后修改一下 menu.lst就行了;对于用2b方式启动的直接修改menu.lst就可以了。
我用了两星期,其实速度上没感觉出什么变化,不过升级内核的确方便了,也不担心空间不够用了,呵呵。像我这样折腾的人估计不多,不过文中提到的一些方法其实可以用来修复出错的系统,比如恢复引导代码、修改xorg.conf文件等。
分享到:
相关推荐
install_flash_player_10_active_xvinstall_flash_player_10_active_xinstall_flash_player_10_active_xinstall_flash_player_10_active_xinstall_flash_player_10_active_xinstall_flash_player_10_active_xinstall...
ubuntu_16.04_install_some_solft_about_open_source__Install-R-rstudio-server-shiny-server-git
### Ubuntu从硬盘启动安装LiveCD #### 知识点概览 - **Ubuntu LiveCD介绍** - **硬盘启动ISO文件的必要性** - **硬盘引导ISO文件安装步骤** - 准备工作 - 配置启动菜单 - 安装所需的工具与文件 - 安装过程中的...
"Ubuntu引导修复—使用LiveCD更新UbuntuGrub引导" 本文主要讲解了如何使用LiveCD更新UbuntuGrub引导的步骤,详细介绍了使用LiveCD修复Ubuntu引导的方法。下面是相关知识点的总结: 1. live CD是什么:Live CD是一...
关于老系统上传文件提示 “you need the flash player 9.028 or above to use swfuploal”的解决方案版本。(信新版本的flash安装后无法解决此问题)
flash player 64位,install_flashplayer11x64_mssd_aih
在Ubuntu上安装MySQL同样可以通过`sudo apt-get install mysql-server`命令实现。 4. **PHP**: PHP是一种广泛使用的服务器端脚本语言,尤其适合Web开发。在Ubuntu上安装PHP,可以使用`sudo apt-get install ...
标题中的"install_flash_player_11_linux.x86_64.tar.gz"表明这是一个用于Linux操作系统的64位Flash Player安装程序。这个压缩包文件采用了常见的归档格式".tar.gz",这种格式在Linux和Unix-like系统中广泛使用,...
eclipse编译出来的apk,安装时报出INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的错误。 原因:apk的AndroidManifest.xml中声明了android:sharedUserId="android.uid.system",但没有相应的签名 解决方案: 1. 找到编译...
Adobe Flash Player(Flash插件)是Adobe发布的浏览器Flash支持补丁。随着网络速度与品质的提升,越来越多的网站开始使用Flash来表达网站的内容...本站提供的Flash Player 官方下载是最新版Adobe Flash Player(Flash插件)
### Ubuntu 10.04 LiveCD 修复 Grub2 双系统引导 #### 背景介绍 在双系统环境中(例如同时安装有 Windows 和 Linux 的计算机),Grub2 是一个常用的引导加载程序,它负责在启动时提供菜单让用户选择要启动的操作...
2022.11.27 add some info for TIA Portal v18 b59248759b1633c4e8bbbbdb05e4ebe9f38c7ef84fdf73de558bda1d7f3ea645 *Sim_EKB_Install_2022_11_27_Run_as_Admin.exe v2022.09.27 add some info for internal testing...
西门子授权工具Sim_EKB_Install_2016_05_06是一款针对西门子工业软件的重要辅助工具,主要用于激活和管理西门子的多种工业自动化产品。这款工具包含了2016年5月6日的最新更新,确保用户能够使用到当时最新的授权技术...
This bundle contains a modified CP210x driver for the 4.10.0 kernel (Ubuntu 17.04). It contains: - Support for the CP2102N NOTE: This driver is an example of how to perform GPIO operations within ...
Install_Vivado_2014.3_on_Ubuntu_14.04 Install_Vivado_2014.3_on_Ubuntu_14.04 Install_Vivado_2014.3_on_Ubuntu_14.04
最新西门子授权文件Sim_EKB_Install_2015_03_29.rar
support Tia Portal v17
标题中的“EasyConnect for Ubuntu(X64、X86)安装包分享”指的是为Ubuntu操作系统提供的EasyConnect软件的安装程序,适用于64位(X64)和32位(X86)架构的系统。EasyConnect是一款由思科系统开发的远程访问虚拟化...
liggghts安装程序,可用于离散元仿真计算及开源编程。
西门子Sim_EKB_Install_2016_10_26是一款重要的授权工具,主要用于激活和支持西门子的工业自动化软件。这个工具在2016年10月26日发布,旨在为用户提供最新的授权解决方案,确保他们能够充分利用西门子的软件产品。...