Ubuntu16.04系統重裝
為了給Ubuntu16.04重裝系統,費了我很大的功夫,所以在這裏把它寫下來。
首先準備一個Live CD,就是Ubuntu的安裝盤。
備份原理就是將系統文件壓縮打包。由於Linux系統所有都是文件,故,只需要將系統打包即可。當然,必須除了當前系統運行中的文件以及臨時文件。
打包有兩種方式:a)直接需要打包的Linux系統下壓縮打包(親測,發現在打包最後會報錯,不知會不會有問題),反正我是沒有成功。b).使用Live USB
接下來就是步驟了
1、使用U盤啟動,進入Live USB界面,點擊試用。
2、進入試用Ubuntu後,先獲取root權限。
sudo su
在根目錄下新建一個文件夾backup,用來掛載系統硬盤(/dev/sdb2,這是我的"/"主分區,應該也是系統所在的地方吧)。
mount dev/sdb2 /backup/
註意:sda1,sdb1按照fdisk -l查看的的實際情況替換。
進入backup文件夾下查看是否掛載成功。如果掛載成功,文件夾下應該是要備份的Linux系統文件。
壓縮格式有很多,如果你的硬盤夠大,建議使用低壓縮格式,這樣速度會很快。
進入到backup備份系統目錄下:
tar cvpzf /backup/mnt/backup.tgz --exclude=./proc --exclude=./lost+found --exclude=./mnt --exclude=./sys --exclude=media ./
tar 是用來備份的程序
c - 新建一個備份文檔
v - 詳細模式, tar程序將在屏幕上實時輸出所有信息。
p - 保存權限,並應用到所有文件。
z - 采用‘gzip’壓縮備份文件,以減小備份文件體積。
f - 說明備份文件存放的路徑
解釋:--exclude ,是排除壓縮的文件。就是將不需要的文件排除。
等待壓縮完成。
如果不是在本機上的話,要備份原始系統的配置文件,以及新安裝系統的啟動文件。
進入backup原始系統下,備份系統配置文件fstab fstab.d
cd /backup/etc/
cp -pdr fstab fstab.d /restore/backsrc/
進入restore/還原目錄下,備份系統啟動文件grub.cfg.主要是用來獲取新硬盤的UUID號,替換備份系統的內的UUID,不然在新硬盤上系統無法啟動!
cd /restrore/boot/
cp -pdr grub.cfg /restore/backsrc/
G.解壓縮,還原系統到新硬盤下.
tar -xvpzf /restore/backsrc/backup.tgz -C /restore/
H.替換剛剛備份的系統配置文件,以及修改啟動文件中的UUID:
替換:
cp -fdr /restore/backsrc/fstab fstab.d /restore/etc/
修改:
打開/restore/backsrc/grup.cfg
復制裏面的UUID
打開/restore/boot/grup.cfg,將裏面的UUID全部替換。
現在一切還原完成。關閉電腦,拔掉U盤,拔掉舊的備份硬盤。重啟電腦!
完畢!!!
我們繼續,進入backup原始系統下,備份系統配置文件fstab fstab.d
cd /backup/etc/
cp -pdr fstab fstab.d /backup/mnt/
我的電腦上沒有fstab.d,但最後也成功了
解壓縮,還原系統到新硬盤下.
註意!!!因為 tar還原是只會覆蓋相同的文件,但是這種方法只是恢復備份時的文件,就是說如果某些文件丟失或損壞了,這樣可以恢復修復這些文件,但不能刪除自備份到恢復前這期間所生成的其它文件,說白了就是假如你備份系統時有1234這四個文件,如果三天後,由於某些原因變成了1234‘5(4改變了),你恢復後,就會變成12345,其中4‘恢復成備份時的文件,5保留。所以大家要是想徹底還原成備份時候的樣子最好徹底刪除根目錄下的所有文件,然後在還原,這樣就可以還原成備份時的樣子了。
Linux 中美妙的事情之一就是在系統正在運行的情況下可以進行還原操作,而不需要啟動光盤或者其他任何亂七八糟的東西。當然,如果您的系統已經崩潰,那您必須選擇 使用live CD,但是結果還是一樣。
tar -xvpzf /backup/mnt/backup.tgz -C /backup/
******************************************************************
好了,言歸正傳。這是我要用的命令,如果你的備份不是在和我一樣的位置的位置的話,那請相應地修改/mnt/backup.tgz這一點:
tar -xvpzf /mnt/backup.tgz -C /
如果您使用的是bz2壓縮的:
tar -xvpjf /mnt/backup.tar.bz2 -C /
如果系統已經崩潰可以使用Live usb登錄,然後
mkdir /tmp/root
mount /dev/sdb2 /tmp/root
tar -xvpjf /tmp/root/mnt/backup.tar.bz2 -C /tmp/root
當然,恢復前可以先rm -rf /tmp/root/* 一下,這樣就幹幹凈凈了。(就是之前說的刪除根目錄下的所有文件)
這個只是在本機上還原,如果是還原到別的機子上記得修改fstab文件。(可能還需要安裝grub)
恢復命令結束時,你的工作還沒完成,別忘了重新創建那些在備份時被排除在外的目錄:
# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys
# mkdir media
等等
********************************************************
現在一切還原完成。關閉電腦,拔掉U盤,重啟電腦!
完畢!!!
Ubuntu16.04系統重裝