UOS全盤安裝系統(tǒng)后,再次分區(qū)方法。
1.查看系統(tǒng)版本
1.1.說明
再次分區(qū)方法為103X版鏡像安裝的系統(tǒng)(102X版本未測(cè)試),并且安裝操作系統(tǒng)時(shí)需采用全盤安裝。
該文檔僅供學(xué)習(xí)使用,如若他用,風(fēng)險(xiǎn)自負(fù)。
1.2.查看系統(tǒng)版本
2.環(huán)境準(zhǔn)備
2.1.說明
1、全盤安裝的系統(tǒng)且系統(tǒng)只有一塊硬盤的情況下,將數(shù)據(jù)盤重新分區(qū);
2、條件:需開發(fā)者模式
2.2.備份文件權(quán)限—很重要
終端中執(zhí)行以下命令:
終端打開方法:桌面空白處右擊-在終端中打開
sudo getfacl -R / > a1.facl
sudo getfacl -R /. > a2.facl
sudo getfacl -R /data/ > a3.facl
sudo getfacl -R /data/. > a4.facl
將以上4個(gè)文件備份到其他存儲(chǔ)介質(zhì)中,并拷貝到啟動(dòng)盤中(下文會(huì)用到)
3.進(jìn)入livecd系統(tǒng)
3.1.功能說明
單用戶和tty9均無法使用的情況下,需要修復(fù)系統(tǒng),可以用系統(tǒng)啟動(dòng)U盤進(jìn)入livecd模式進(jìn)行修復(fù)。
livecd系統(tǒng)下可對(duì)系統(tǒng)做任何操作。
3.2.使用步驟
用uos系統(tǒng)制作啟動(dòng)盤(U盤或者光盤),插在機(jī)器上,開機(jī)在BIOS或者快速啟動(dòng)項(xiàng)里選擇U盤或者光盤啟動(dòng),進(jìn)入系統(tǒng)安裝界面后按字母E進(jìn)入編輯模式(amd機(jī)器可能是按Tab鍵進(jìn)入編輯模式),找到Linux開頭的那一行,刪除livecd-installer這個(gè)參數(shù),然后按Ctrl+X或者F10(amd機(jī)器可能是直接按Enter回車鍵即可)進(jìn)入livecd系統(tǒng),如下:
進(jìn)去livecd系統(tǒng)后就可以看到電腦上的硬盤各個(gè)分區(qū)。
4.livecd系統(tǒng)中備份數(shù)據(jù)
4.1.修改livecd系統(tǒng)密碼
livecd系統(tǒng)密碼為隨機(jī)密碼,防止鎖屏無法進(jìn)行繼續(xù)操作,需修改livecd系統(tǒng)密碼。
執(zhí)行綠色代碼,用戶名可以在“控制中心—賬戶”中查看
uos@UOS:~/Desktop$ sudo passwd uos
New password:
Retype new password:
passwd: password updated successfully
4.2.掛載原系統(tǒng)分區(qū)(目錄)
手動(dòng)掛載原系統(tǒng)分區(qū)目錄,使用lsblk -f可以查看原分區(qū)情況。
分區(qū)簡介:(nvme0n1是我電腦硬盤名(name),對(duì)應(yīng)的還有sda、sdb、sdc等等,可使用lsblk查詢)
nvme0n1p2:label顯示Boot表示原系統(tǒng)的boot分區(qū)
nvme0n1p3:label顯示Roota表示原系統(tǒng)的/(根)分區(qū)
nvme0n1p5:label顯示data表示原系統(tǒng)的數(shù)據(jù)分區(qū)
其他略···
在livecd系統(tǒng)中創(chuàng)基一個(gè)目錄/wwr:
uos@UOS:~/Desktop$ sudo mkdir /wwr
將原系統(tǒng)的根分區(qū)掛載到/wwr中:
uos@UOS:~/Desktop$ sudo mount /dev/nvme0n1p3 /wwr/
將原系統(tǒng)的數(shù)據(jù)分區(qū)掛載到/wwr/data中(樹形目錄需保持不變):
uos@UOS:~/Desktop$ sudo mount /dev/nvme0n1p5 /wwr/data/
驗(yàn)證掛載數(shù)據(jù)是否正確:
uos@UOS:~/Desktop$ cd /wwr/data/
/wwr/data中有數(shù)據(jù):
uos@UOS:/wwr/data$ ls
home lost+found opt root var
根分區(qū)中有數(shù)據(jù):
uos@UOS:/wwr/data$ ls ..
bin data etc lib lib64 lost+found mnt proc root sbin sys usr
boot dev home lib32 libx32 media opt recovery run srv tmp var
4.3.備份原系統(tǒng)數(shù)據(jù)(可在正常系統(tǒng)中提前備份)
思路:備份原數(shù)據(jù)盤中所有數(shù)據(jù)(所有數(shù)據(jù)包括隱藏?cái)?shù)據(jù)-非常重要)
正常系統(tǒng)中將數(shù)據(jù)盤中所有的數(shù)據(jù)備份到系統(tǒng)盤(如果系統(tǒng)盤空間足夠),方法同下。
在livecd系統(tǒng)中,/wwr目錄下創(chuàng)建bak目錄:
uos@UOS:/wwr$ sudo mkdir bak
回到/wwr/data目錄下:
uos@UOS:/wwr$ cd /wwr/data
復(fù)制當(dāng)前目錄下可見文件(夾)到上級(jí)目錄的bak中:
uos@UOS:/wwr/data$ sudo cp -r * ../bak/
復(fù)制當(dāng)前目錄下隱藏文件(夾)到上級(jí)目錄的bak中:
uos@UOS:/wwr/data$ sudo cp -r . ../bak/
4.4.卸載原系統(tǒng)分區(qū)(目錄)
與4.2節(jié)內(nèi)容相反;卸載后才能對(duì)整個(gè)硬盤操作,否則會(huì)提示busy。
退出當(dāng)前操作目錄,否則卸載也會(huì)提示busy:
uos@UOS:/wwr/data$ cd
將原系統(tǒng)的根分區(qū)卸載:
uos@UOS:~$ sudo umount /dev/nvme0n1p3
將原系統(tǒng)的數(shù)據(jù)分區(qū)卸載:
uos@UOS:~$ sudo umount /dev/nvme0n1p5
驗(yàn)證是否卸載完成:
uos@UOS:~$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs tmpfs 773M 3.0M 770M 1% /run
/dev/sda1 vfat 15G 3.6G 11G 25% /run/live/medium
overlay overlay 3.8G 129M 3.7G 4% /
tmpfs tmpfs 3.8G 18M 3.8G 1% /dev/shm
tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
tmpfs tmpfs 3.8G 192K 3.8G 1% /tmp
tmpfs tmpfs 773M 56K 773M 1% /run/user/1000
5.livecd系統(tǒng)中分區(qū)
5.1.使用分區(qū)工具對(duì)整塊硬盤的數(shù)據(jù)分區(qū)重新分區(qū)
nvme0n1前面講過。此處略過:
uos@UOS:~$ sudo fdisk /dev/nvme0n1
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
打印現(xiàn)有分區(qū)情況:
Command (m for help):p
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: WDC PC SN720 SDAPNTW-512G-1027
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A2CDF16A-4FF1-4C64-86BC-497F31BCD3D3
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 616447 614400 300M EFI System
/dev/nvme0n1p2 616448 3762175 3145728 1.5G Linux filesystem
/dev/nvme0n1p3 3762176 87648255 83886080 40G Linux filesystem
/dev/nvme0n1p4 87648256 171534335 83886080 40G Linux filesystem
/dev/nvme0n1p5 171534336 937299967 765765632 365.1G Linux filesystem
/dev/nvme0n1p6 937299968 977145855 39845888 19G Linux filesystem
/dev/nvme0n1p7 977145856 1000214527 23068672 11G Linux swap
刪除分區(qū):
Command (m for help):d
要?jiǎng)h除的分區(qū)號(hào):(nvme0n1p5是數(shù)據(jù)盤,需要對(duì)它操作,其他的不動(dòng),切記)
Partition number (1-7, default 7):5
Partition 5 has been deleted.
打印刪除后的結(jié)果:
Command (m for help):p
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: WDC PC SN720 SDAPNTW-512G-1027
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A2CDF16A-4FF1-4C64-86BC-497F31BCD3D3
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 616447 614400 300M EFI System
/dev/nvme0n1p2 616448 3762175 3145728 1.5G Linux filesystem
/dev/nvme0n1p3 3762176 87648255 83886080 40G Linux filesystem
/dev/nvme0n1p4 87648256 171534335 83886080 40G Linux filesystem
/dev/nvme0n1p6 937299968 977145855 39845888 19G Linux filesystem
/dev/nvme0n1p7 977145856 1000214527 23068672 11G Linux swap
新建分區(qū):
Command (m for help):n
默認(rèn)(回車):
Partition number (5,8-128, default 5):
需要?jiǎng)?chuàng)建分區(qū)大。
First sector (171534336-1000215182, default 171534336):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (171534336-937299967, default 937299967):+200G
Created a new partition 5 of type 'Linux filesystem' and of size 200 GiB.
Partition #5 contains a ext4 signature.
Y確認(rèn):
Do you want to remove the signature? [Y]es/[N]o:Y
The signature will be removed by a write command.
打印新建分區(qū)后的結(jié)果:
Command (m for help):p
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: WDC PC SN720 SDAPNTW-512G-1027
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A2CDF16A-4FF1-4C64-86BC-497F31BCD3D3
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 616447 614400 300M EFI System
/dev/nvme0n1p2 616448 3762175 3145728 1.5G Linux filesystem
/dev/nvme0n1p3 3762176 87648255 83886080 40G Linux filesystem
/dev/nvme0n1p4 87648256 171534335 83886080 40G Linux filesystem
/dev/nvme0n1p5 171534336 590964735 419430400 200G Linux filesystem
/dev/nvme0n1p6 937299968 977145855 39845888 19G Linux filesystem
/dev/nvme0n1p7 977145856 1000214527 23068672 11G Linux swap
Filesystem/RAID signature on partition 5 will be wiped.
保存分區(qū)方案:
Command (m for help):w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
5.2.格式化新分區(qū)
將新分區(qū)格式化為ext4,用于數(shù)據(jù)盤的掛載:
uos@UOS:~$ sudo mkfs.ext4 /dev/nvme0n1p5
mke2fs 1.44.5 (15-Dec-2018)
Discarding device blocks: done
Creating filesystem with 52428800 4k blocks and 13107200 inodes
Filesystem UUID: d88b95bd-6a4d-4aaa-9d37-7d78e5b9a383
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done
5.3.修改fstab中對(duì)應(yīng)的uuid值
分區(qū)重新分區(qū)后nvme0n1p5的uuid已發(fā)生變化,系統(tǒng)默認(rèn)使用的原來的uuid,將新的uuid替換上去,否則無法開機(jī)。
將原系統(tǒng)的根分區(qū)掛載到/wwr中:
uos@UOS:~/Desktop$ sudo mount /dev/nvme0n1p3 /wwr/
查看新nvme0n1p5的uuid:
uos@UOS:~$ sudo blkid /dev/nvme0n1p5
/dev/nvme0n1p5: UID="d88b95bd-6a4d-4aaa-9d37-7d78e5b9a383" TYPE="ext4" PARTUUID="0c3be715-0433-c14f-b2d4-d295aadaecb6"
修改fstab文件:
uos@UOS:~$ sudo vim /wwr/etc/fstab
6.livecd系統(tǒng)中還原數(shù)據(jù)
6.1.還原數(shù)據(jù)盤中的數(shù)據(jù)
將新數(shù)據(jù)分區(qū)掛載到/wwr/data中(樹形目錄需保持不變):
uos@UOS:~/Desktop$ sudo mount /dev/nvme0n1p5 /wwr/data/
uos@UOS:~$ cd /wwr
uos@UOS:/wwr$ ls
bak boot dev home lib32 libx32 media opt recovery run srv tmp var
bin data etc lib lib64 lost+found mnt proc root sbin sys usr
uos@UOS:/wwr$ cd bak/
uos@UOS:/wwr/bak$ ls
bak bin boot dev home lib lib32 lib64 libx32 lost+found opt proc recovery root run sbin var
將備份的數(shù)據(jù)拷貝到新數(shù)據(jù)盤中:
uos@UOS:/wwr/bak$ sudo cp -r * ../data/
uos@UOS:/wwr/bak$ sudo cp -r . ../data/
uos@UOS:/wwr/data$ ls home/uos/.icons/
default
uos@UOS:/wwr/data$
6.2.恢復(fù)文件權(quán)限—很重要
照應(yīng)2.2節(jié)內(nèi)容。
uos@UOS:~/Desktop$ sudo mount /dev/nvme0n1p3 /wwr/
uos@UOS:~/Desktop$ sudo mount /dev/nvme0n1p2 /wwr/boot
uos@UOS:~/Desktop$ sudo mount /dev/nvme0n1p5 /wwr/data/
uos@UOS:~/Desktop$ sudo mount —bind /dev/ /wwr/dev/
uos@UOS:~/Desktop$ sudo mount —bind /dev/pts/ /wwr/dev/pts/
uos@UOS:~/Desktop$ sudo mount —bind /proc/ /wwr/proc/
uos@UOS:~/Desktop$ sudo mount —bind /sys/ /wwr/sys/
uos@UOS:~/Desktop$ sudo chroot /wwr /bin/bash
root@UOS:/#
此時(shí)類似于進(jìn)入到了單用戶模式,只有根分區(qū)掛載,需要再執(zhí)行mount操作將系統(tǒng)其他分區(qū)掛載上去(主要是/data分區(qū)下的幾個(gè)目錄需要掛載):
root@UOS:/#mount -a
將2.2章節(jié)中備份的4個(gè)facl文件拷貝至/wwr目錄下:
新建一個(gè)終端執(zhí)行sudo cp.facl /wwr
切回原終端,恢復(fù)文件權(quán)限:
root@UOS:/#setfacl —restore.facl
root@UOS:/#
6.3.測(cè)試
重啟測(cè)試(可能會(huì)出現(xiàn)無法進(jìn)入系統(tǒng)的情況[請(qǐng)自行處理])
預(yù)期結(jié)果(如下圖):
剩余未分區(qū)的磁盤可用磁盤管理器(分區(qū)編輯器)進(jìn)行后續(xù)操作,上圖中NTFS分區(qū)安裝了非國產(chǎn)系統(tǒng),以測(cè)試分區(qū)是否正常使用。 |