從用上deepin開始,就一發(fā)不可收拾。由于deepin的前幾個版本(13-14)都是需要從新安裝系統(tǒng)的,每個版本必須安裝嘗鮮,但由于那會兒還在學(xué)校,安裝的軟件基本上是gcc等等,所以每個版本都是重新安裝的,但工作以來,需要安裝的軟件(基本上是一些開發(fā)庫)越來越多,懶癌重癥者,必不想重裝系統(tǒng)。15版的deepin系統(tǒng)已經(jīng)基于debian系統(tǒng),系統(tǒng)升級上提供了滾動升級的方式,因此新的的15版的升級都無需重新安裝格盤,一切重頭開始。
自己的一些linux系統(tǒng)安裝慣例。根分區(qū)/(/dev/sda1)一般劃分10G(正是這個可惡的開始),然后/home(/dev/sdb2)單獨分區(qū)。以后如果重裝系統(tǒng),只格式化跟分區(qū)/。繼續(xù)使用原先的/home分區(qū),這一切在每每deepin發(fā)版本時都不存在問題(deepin 13-14無法滾動升級)。但15的發(fā)布,游戲規(guī)則改變,可以滾動升級。根分區(qū)的10個G越發(fā)捉襟見肘,終于于昨晚爆發(fā),編譯golang程序提示無法分配磁盤空間,一個ls命令下去,一大堆python錯誤提示。需要下決心了。
電腦的基本情況:
thinkpad sl410(老爺機了), 6G mem, ssd+hd
ssd分區(qū)
- /dev/sda1 10G 掛載根分區(qū)/
- /dev/sda2 60G 暫時不用
- /dev/sda3 40G ntfs格式,用作安裝windows
hd分區(qū)
- /dev/sdb1 150G ntfs, 平時存放文件
- /dev/sdb2 150 ext4, 掛載/home目錄
- /dev/sdb3 8G swap, 用作交換分區(qū)
手術(shù)步驟:
(以下操作都是root權(quán)限)
blkid #記錄/dev/sda1的uuid為$old_sda1, 后文需要用到mkdir /home/bak_home #/home/zql的備份目錄mkdir /home/bak #備份根分區(qū)主要文件的目錄rsync -aSvH --delete --exclude=/sys --exclude=/tmp --exclude=/proc --exclude=/mnt --exclude=/media --exclude=/home /* /home/bakrsync -aSvH /home/zql/* /home/bak_home
dd if=/home/zql/Downloads/deeepin-15.3-amd.iso of=/dev/sdc bs=1M
分區(qū)以及格式化
a. 使用U盤啟動盤啟動系統(tǒng)或者使用linux系統(tǒng)的livecd啟動
b. 切換到console 1(Ctrl+Alt+F1)或者打開終端
c. fdisk /dev/sda
d. 刪除/dev/sda1和/dev/sda2(按m鍵提示,d鍵刪除分區(qū))
e. 基于刪除的兩個分區(qū)的空間新建主分區(qū)(按n鍵新建)
f. 保存(按w鍵)
g. mkfs.ext4 /dev/sda1
#格式化為ext4格式
恢復(fù)文件
a. 掛載/dev/sda1, 執(zhí)行 mount /dev/sda1 /mnt
b. 根分區(qū)/文件同步, rsync -aSvH --delete /home/bak/* /mnt
調(diào)整分區(qū)UUID
a. 得到/sda1以及/sdb2和交換分區(qū)/dev/sdb3的編號,執(zhí)行blkid
, 記錄其編號分別為$sda1, $sdb2, $sdb3
b. vi /mnt/fstab,分別用$sdb1, $sdb2, $sdb3替換掛載編號($sdb2, $sdb3不改變, 可不動)
恢復(fù)用戶目錄
a. mkdir -p /mnt/sys /mnt/proc /mnt/mnt /mnt/media /mnt/tmp /mnt/home/zql
b. rsync -aSvH --delete /home/bak/* /mnt/home/zql
#恢復(fù)用戶數(shù)據(jù)
啟動項修復(fù)
a. sed 's/$old_sda1/$sda1/g' /mnt/boot/grub/grub.cfg
b. grub-install /dev/sda
#安裝grub到/dev/sda
重啟!
聯(lián)系客服