歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> Ubuntu Linux移動根分區

Ubuntu Linux移動根分區

日期:2017/3/2 16:34:52   编辑:Linux服務器

自從用上了Ubuntu,發現對Windows的依賴越來越小,前兩天更是把我的Vista給刪了,現在系統裡只有Ubuntu,於是想把Ubuntu從安裝時的分區3上轉到分區1上去。實驗結果如下:

  聲明:本人只討論技術問題,如因此造成的數據損失及其他問題不承擔任何責任。

  0:我的配置:分區:sda1 原Vista ,

  sda2擴展分區,下有兩個邏輯分區(sda5,sda6),

  sda3 Ubuntu分區,

  sda4 Swap分區

  1:從LiveUSB(LiveCD)啟動。

  使用現有系統的制作LiveUSB工具及安裝鏡像制作LiveUSB,當然你也可以用LiveCD,建議使用LiveUSB(LiveCD可能掛載分區時會無法創建目錄);

  在開機啟動選項裡選擇你的啟動設備(使用Del鍵或F2鍵或F12鍵進入啟動選項,具體視機器而定)

  2:掛載sda1和sda3。

  這個沒什麼好說的,可以在文件浏覽器中掛載,也可以手動用mount命令

  3:移動文件。

  用 cp -ax /media/分區3/* /media/分區1/ “分區1”是sda1掛載的目錄,“分區3”是sda3掛載的目錄,加入-ax 參數可以保證復制時保留屬性。

  4:重裝grub。

  這一步的目的是保證grub從sda1尋找menu.lst文件,而不是原來的sda3。

  方法:依然是在LiveUSB上,打開終端,輸入sudo grub命令,可能要等一會兒,然後出現grub>提示符;

  輸入find /boot/grub/stage1,如果出現(hd0,0) (hd0,2)兩項,那就說明你復制的沒問題;

  接著輸入:root (hd0,0),表明啟動分區是第0塊硬盤上的第0分區(grub中用0表示1,1表示2,以此類推);

  然後輸入:setup (hd0),將grub裝到第0塊硬盤上。

  5:修改menu.lst。

  這一步最關鍵,是能否從新系統上啟動的關鍵。

  打開終端;

  將原來的menu.lst改名:在終端中進入分區3目錄下/boot/grub目錄,使用sudo mv menu.lst newfilename把menu.lst改名(newfilename為任意的其他名稱)

  cd 命令進入sda1掛載目錄下的/boot/grub目錄;

  查看分區UUID:sudo ls -l /dev/disk/by-uuid ,記錄下sda1和sda3的UUID(分區編號sdx在行尾);

  修改分區1上的menu.lst:

  sudo cp menu.lst menu.lst.backupfile (備份menu.lst文件)

  sudo gedit menu.lst,把裡面sda3的UUID都替換為sda1的UUID,然後保存,關閉gedit和終端;

  注:有些人的grub可能不是使用UUID來識別分區,可以直接將menu.lst裡的/dev/sda3改為/dev/sda1。

  6:重啟。從硬盤啟動(改回你的設定,不再使用LiveUSB啟動)

  如果成功的話,進入任意目錄下查看剩余空間,如果與新分區剩余空間相符,這一步進入的就是新分區了,如果你使用一段時間後沒什麼問題,就可以把原來的sda3刪掉以作他用了。

  如果失敗,將分區3上的menu.lst恢復,並在grub命令下使用root (hd0,2)然後setup (hd0),以重裝grub。

  如果有什麼問題,歡迎大家積極討論

Copyright © Linux教程網 All Rights Reserved