• wubi安装ubuntu后迁移到新分区


    前几天在ubuntu中文站点上看见使用wubi装ubuntu,觉得挺好,今天7点钟回来直接在windows7系统(C盘)下使用wubi装上64bit的ubuntu 10.4,但是装的时候没看清楚,直接装到C盘上去了,等我发现时已经到8点了,我的ubuntu已经装上了很多软件,就不想重装了,所以就寻求解决办法。

      我想将我的ubuntu拷贝到我的V盘(最后一个分区) ,本以为直接将C盘下的ubuntu文件夹复制一份到V盘就行了,结果拷贝过去之后启动的还是C盘的那个系统。

      在网上搜了些资料说是要改grub,但是按照网上的方法找不到/boot/grub/menu.lst,是因为10.4的unbuntu用的已经是grub2了,它使用的配置文件是/boot/grub/grub.conf。

      废话不多说,直接上我的解决方案(实际上是经过像无头苍蝇一般试过后的结论,我不是一步到位的)。

    解决办法一:

    此方法适合已经安装到C盘或者某盘,想但还没有开始向其它盘复制文件。

    1、sudo ls -l /dev/disk/by-label
    这一步先找到所有的分区对应的设备名称

    ==》我的机器上显示如下,我要将linux将到void分区下,也就是sda3分区下。

    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 bak -> ../../sda7
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 Fun -> ../../sda8
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 project -> ../../sda5
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 VirtualMachine -> ../../sda9
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 void -> ../../sda3
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 windows/x207 -> ../../sda1
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 Windows/x20XP -> ../../sda6

    2. sudo ls -l /dev/disk/by-uuid

    ==》在我的机器上输出如下。记住sda3分区的uuid是F41801381800FAFE

    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 2412916B129142AA -> ../../sda6
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 2C3AB17D3AB1451C -> ../../sda5
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 4444961844960CB4 -> ../../sda1
    lrwxrwxrwx 1 root root 11 2010-09-08 23:05 475260a3-6f37-4e68-b606-135563b17815 -> ../../loop0
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 8A762299762285D3 -> ../../sda8
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 BCE23EBDE23E7C28 -> ../../sda7
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 D652EE1E52EE035B -> ../../sda9
    lrwxrwxrwx 1 root root 10 2010-09-08 23:05 F41801381800FAFE -> ../../sda3

    3、sudo chmod 666 /boot/grub/grub.cfg

    由于 /boot/grub/grub.cfg是只读的,所以使用命令去掉只读属性。

    4、将原文中的

    ### BEGIN /etc/grub.d/10_lupin ###
    menuentry "Ubuntu, Linux 2.6.32-24-generic" {
        insmod ntfs
        set root='(hd0,1 )'
        search --no-floppy --fs-uuid --set 4444961844960CB4
        loopback loop0 /ubuntu/disks/root.disk
        set root=(loop0)
        linux /boot/vmlinuz-2.6.32-24-generic root=/dev/sda1 loop=/ubuntu/disks/root.disk ro   quiet splash
        initrd /boot/initrd.img-2.6.32-24-generic
    }

    换成我的sda3对应的信息,如下:

    menuentry "Ubuntu, Linux 2.6.32-24-generic" {
        insmod ntfs
        set root='(hd0,3 )'
        search --no-floppy --fs-uuid --set F41801381800FAFE
        loopback loop0 /ubuntu/disks/root.disk
        set root=(loop0)
        linux /boot/vmlinuz-2.6.32-24-generic root=/dev/sda3 loop=/ubuntu/disks/root.disk ro   quiet splash
        initrd /boot/initrd.img-2.6.32-24-generic
    }

    还有其它Ubuntu, Linux 2.6.32-24-generic (recovery mode)启动项也按同种方式修改就行了,保存后重启。

    5、重启后进入windows系统,现在可以直接将C盘中的unbuntu文件夹拷贝到void盘去(最好别使用剪切,当确定转移完成后再删除原有的文件夹)。

    6、再次重启选择utuntu菜单,进入后出现grub的启动菜单,选择我们修改过的Ubuntu, Linux 2.6.32-24-generic进入,OK,大功告成。

    解决方法二:

    此方法适用于太眼疾手快的人(就是那些一点都不懂,直接将ubuntu文件夹拷贝到目标盘去又懒得再拷贝一次的人,其实就是我了)。

    1、重启选择utuntu菜单,进入后出现grub的启动菜单。

    2、要是直接点击“Ubuntu, Linux 2.6.32-24-generic”是会去找C盘的那个ubuntu文件夹的,而不会去找V盘里拷贝好的文件。所以要在这一步点击“e”进入命令行编辑模式(请按提示操作,不保证100%一致)。

    3、如果在命令行编辑模式下面知道void盘是sda3和uuid那么直接执行第5步,否帽那么直接将set root='(hd0,1 )'改成set root='(hd0,2 )'或者其它,下面的sda1也改为sda2或者其它,然后运行之,这时必然会出现error file....(我已经忘了错误信息是什么了),然后再等几秒会出再可以输入命令的控制台。

    这时使用类似于解决方案一中的1,2 步,只是命令前面不加sudo而已,得到目标盘的名称(sda3)和对应的uuid,把他们抄在纸上吧。

    4、ctrl+alt+delete重启

    5、如果已经提前知道了void盘是sda3和uuid,那么可以直接类似于解决方法一的第4步,直接编辑命令行,编辑好后ctrl+x运行,YE,进入到我的V盘下的ubuntu了,这时请从解决方法一的第3步开始将grub.conf文件修改成正确的内容(否则每次都修改命令行?),重启后即正常。

    唉,今天可是把我这个超级linux菜鸟给整惨了,从安装到安装完毕写完心得文档,我地个娘啊,11点44分了,赶紧睡了。

  • 相关阅读:
    ubuntu16.04安装jdk1.8(java1.8)
    OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]
    Eclipse 的 jsp 页面代码格式化
    php自动加载
    swift 遍历
    swift 赋值判断
    C语言开发环境配置
    C语言之分配
    C语言之指针
    IOS之swift第一课基础代码
  • 原文地址:https://www.cnblogs.com/k1988/p/2165634.html
Copyright © 2020-2023  润新知