一、備份
很多人有備份系統(tǒng)的習(xí)慣,以防系統(tǒng)掛。Windows下可以用DISM創(chuàng)建一個(gè)系統(tǒng)鏡像,在Ubuntu下,我們可以使用squashfs-tools創(chuàng)建系統(tǒng)鏡像。
準(zhǔn)備工作
可啟動(dòng)LiveCD一份,這個(gè)類似于你備份Windows需要WinRE/PE一樣。
一個(gè)Linux可以訪問(wèn)分區(qū)(相信大部分文件系統(tǒng)都可以),但不可以是系統(tǒng)所需要的分區(qū),比如/ /home /var /usr /tmp,這就好比你不能將你的Windows系統(tǒng)鏡像放在C盤一樣。
重新啟動(dòng)計(jì)算機(jī),進(jìn)入LiveCD,啟動(dòng)菜單選擇試用Ubuntu(Try Ubuntu)。locale=zh_CN.UTF-8。
按Ctrl+Alt+T打開(kāi)終端。
輸入sudo -s獲得root權(quán)限。
輸入fdisk -l查看當(dāng)前分區(qū)狀況。
在這里,我的分區(qū)設(shè)定是:
/dev/sda1是EFI系統(tǒng)分區(qū),因?yàn)槲疫@是EFI+GPT引導(dǎo)。(有人會(huì)奇怪為什么沒(méi)有Microsoft Reserved微軟保留分區(qū),這是因?yàn)槲业拇疟P不是在Windows下進(jìn)行分區(qū)的,故沒(méi)有)。
/dev/sda2是根文件系統(tǒng)(/)
/dev/sda3是/home分區(qū)。
/dev/sda4是額外的數(shù)據(jù)盤,我們將會(huì)把系統(tǒng)鏡像文件保存在這個(gè)分區(qū)上。
掛載分區(qū)
終端輸入mount /dev/sda2 /mnt,掛載根分區(qū)。
如果您在分區(qū)的時(shí)候單獨(dú)分了/boot分區(qū)的話,請(qǐng)接著輸入mount /dev/xxx (你的boot分區(qū)標(biāo)識(shí))/boot。
在這里,我分了efi分區(qū),即/boot/efi(大部分狀況下是這個(gè)),所以我要輸入mount /dev/sda1 /boot/efi(如果您既分了/boot又有/boot/efi,請(qǐng)一定先掛載boot后掛載efi,順序千萬(wàn)不能反)。
然后掛載home分區(qū)mount /dev/sda3 /home(如果您沒(méi)有設(shè)定單獨(dú)的home分區(qū)不需要掛載,如果您不想保存home的內(nèi)容也可以不掛載)。
如果您還設(shè)置了別的分區(qū),比如/var /usr /tmp之類,請(qǐng)模仿上面的方法掛載。(/tmp可以選擇不掛載,但是/usr必須掛載,不掛載還原后系統(tǒng)出現(xiàn)問(wèn)題本人不負(fù)責(zé),/var最好也要掛載,不掛載還原后系統(tǒng)也有可能會(huì)出問(wèn)題)。
終端窗口不要關(guān),現(xiàn)在,我們打開(kāi)文件管理器nautilus。
選擇「其他位置」,點(diǎn)擊數(shù)據(jù)盤進(jìn)行掛載。
好了我們現(xiàn)在已經(jīng)掛載了。
右擊分區(qū)名稱(「28GB卷」那個(gè)),選擇屬性。
記住它的路徑(這里是/media/ubuntu/1cbd9938-ef7a-42ff-a788-213c30db4f02)。
正式備份系統(tǒng)
在極少數(shù)情況下,一些LiveCD會(huì)沒(méi)有squashfs-tools,這就需要您手動(dòng)安裝。
終端輸入mksquashfs /mnt /media/ubuntu/1cbd9938-ef7a-42ff-a788-213c30db4f02/backup.sfs (文件名任意)
備份好了之后,最好輸入一下sync,讓系統(tǒng)保存數(shù)據(jù)。
卸載分區(qū)(按照其他分區(qū)(home var usr之類)——efi分區(qū)——boot分區(qū)——根文件系統(tǒng)的順序來(lái)卸載,每個(gè)人的情況都不太一樣)
umount /mnt/home
umount /mnt/boot/efi
mount /mnt
最后卸載數(shù)據(jù)盤,就是保存鏡像文件的那個(gè)。
大功告成。
重啟之前還是建議再sync一下,養(yǎng)成好習(xí)慣(畢竟Linux有延遲寫入功能)。
二、還原
先說(shuō)一下,你在Windows下還原系統(tǒng),大部分情況下直接還原然后重啟就OK了,但是在Linux下,你還原之后還需要處理一下系統(tǒng),不然會(huì)無(wú)法啟動(dòng)。
獲得root權(quán)限(sudo -s),查看分區(qū)狀況。(如果您已熟知可以不用)
分區(qū)狀況sda1是efi,sda2是根,sda3是home,sda4是數(shù)據(jù)盤。
格式化
第二步和備份不一樣,現(xiàn)在不需要掛載。
因?yàn)槲腋謪^(qū)和home都是ext4分區(qū),所以我輸入
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
先格式化,如果你想保留home的內(nèi)容可以選擇不格式化。如果你有var usr之類請(qǐng)也格式化。
(如果你采用了其他格式格式化分區(qū),請(qǐng)使用別的命令,比如xfs是mkfs.xfs)
數(shù)據(jù)盤別格式化,不然就23333了。
建立臨時(shí)目錄
mkdir /recovery(命名可以隨意,只要你后面能對(duì)的上)
掛載數(shù)據(jù)盤
掛載方式請(qǐng)參考上文。
同樣記住它的編號(hào)。
掛載鏡像文件
mount -o loop /media/ubuntu/1cbd9938-ef7a-42ff-a788-213c30db4f02/backup.sfs /recovery
掛載鏡像并創(chuàng)建必要文件夾。
掛載根分區(qū) mount /dev/sda2 /mnt
根據(jù)需要建立文件夾:
mkdir /mnt/boot
mkdir /mnt/boot/efi
mkdir /mnt/home
修改權(quán)限
確保所創(chuàng)建的文件夾權(quán)限是這樣。
復(fù)制文件
cp -a /recovery/* /mnt
復(fù)制好之后輸入umount /recovery,這是為了卸載squashfs鏡像。
有人會(huì)問(wèn)為什么不用unsquashfs,這是因?yàn)閡nsquashfs解壓之后會(huì)把文件解壓到squashfs-root文件夾。
掛載虛擬文件系統(tǒng),這是為了后面修復(fù)引導(dǎo)做準(zhǔn)備。
mount --o bind /dev /mnt/dev
mount --o bind /proc /mnt/proc
mount --o bind /sys /mnt/sys
mount --o bind /run /mnt/run(這一步可以省略)
chroot進(jìn)入已經(jīng)還原的操作系統(tǒng)。
chroot /mnt
查看當(dāng)前UUID
由于我們格式化了分區(qū),所以UUID發(fā)生了變化,若不修改,系統(tǒng)將無(wú)法正常掛載分區(qū),導(dǎo)致啟動(dòng)異常。故我們需要修改本機(jī)系統(tǒng)的UUID設(shè)置。
當(dāng)前終端不要關(guān)閉,新建一個(gè)終端,輸入blkid。
上面已經(jīng)說(shuō)過(guò),sda1是efi,sda2是根分區(qū),sd3是home。
記下他們的UUID。如果您分了別的分區(qū)比如boot var usr,也需要記下,等會(huì)要用。
修改本機(jī)UUID設(shè)置
返回原來(lái)的終端(已經(jīng)chroot /mnt的那個(gè)),輸入nano /etc/fstab。
如果nano沒(méi)有安裝,那么請(qǐng)輸入vi /etc/fstab。
如果您用的是vi,那么需要按i進(jìn)入編輯模式。
修改UUID(最新UUID在另一個(gè)窗口有)。我這里需要修改/和/home的,你的狀況可能會(huì)和我不一樣,如果您只分了根分區(qū),那么只需要修改根分區(qū)的UUID就行。如果分了var usr之類,這些也要更改。
修改后按Ctrl+x退出。vi是先按esc,再輸入:wq(冒號(hào)不能少?。缓蠡剀?。
更新GRUB
因?yàn)閁UID被改動(dòng),所以我們需要更新GRUB。
輸入grub-install /dev/sda(sda是你主硬盤的位置)
再輸入update-grub。
退出chroot并卸載文件系統(tǒng)。
輸入exit退出chroot。
然后輸入:
umount /mnt/dev
umount /mnt/sys
umount /proc
umount /run
輸入sync存盤。
還原結(jié)束。
重啟。
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。