Author:onceday date:2022年8月8日
一套简单解决Linux虚拟机磁盘不够的方案。
以下参阅其他文档:
使用virtualbox安装ubuntu,并更换镜像源,安装vscode-server,ssh等组件。
如果虚拟机磁盘不够,可以额外增加磁盘,例如VirtualBox在设置->存储里,新增虚拟磁盘,这里需要注意,如果启动失败,需要在控制器:SATA下面调整磁盘顺序,即第一个启动盘应该是装有boot和UEFI以及系统源码的虚拟磁盘。
使用以下步骤来初始化一个新的磁盘,可参阅:Linux之磁盘与文件系统_Onceday_CSDN博客。
使用lsblk查看系统所有磁盘信息
onceday@onceday:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
········ #省略
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 513M 0 part /boot/efi
└─sda3 8:3 0 49.5G 0 part /
sdb 8:16 0 200G 0 disk
可以看到sdb即是目标磁盘,其类型为disk,而sda就是已分区的磁盘。
现代Linux系统,一般系统盘前两个都用来做boot和UEFI代码存放,因此实际数据盘都是从sda3开始了。
使用gdisk命令格式化为GPT分区
目前MBR分区比较受限,支持大硬盘和多分区的GPT格式更好。
onceday@onceday:~$ sudo gdisk /dev/sdb
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-419430366, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-419430366, default = 419430366) or {+-}size{KMGTP}: +100G
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): p
Disk /dev/sdb: 419430400 sectors, 200.0 GiB
Model: VBOX HARDDISK
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): B106DC9E-4290-4759-A7EB-4965A7976F90
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 419430366
Partitions will be aligned on 2048-sector boundaries
Total free space is 209715133 sectors (100.0 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 209717247 100.0 GiB 8300 Linux filesystem
Command (? for help): w #写入分区表,有这个才会生效
很简单就可创建一个100G的磁盘分区,其他空间暂时留存。
然后使用partprobe -s更新一下分区信息。
使用mkfs.xfs创建xfs文件系统
有很多可用的文件系统可供选择,如ext4,目前xfs比较适合。
onceday@onceday:~$ sudo mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=6553600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0 inobtcount=0
data = bsize=4096 blocks=26214400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=12800, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =无 extsz=4096 blocks=0, rtextents=0
使用xfs_repair检查刚刚创建的这个文件系统
onceday@onceday:~$ sudo xfs_repair -n /dev/sdb1
挂载mount该文件系统到Linux目录树中
一般选择/home,/usr,/opt等目录下挂载,这里选择/home,把所有源码当成一个用户来看待。
onceday@onceday:~$ sudo mkdir -m=777 /home/rgos
默认权限全部放开,然后挂载新的文件系统在这个目录点:
onceday@onceday:~$ sudo mount /dev/sdb1 /home/rgos
然后在启动配置/etc/fstab里增加内容:
# /home/rgos was on /dev/sdb1 100G
UUID=fcf4a189-d228-4b4d-93e3-d385eb76a77a /home/rgos xfs defaults 0 0
UUID可使用blkid或者xfs_admin -lu xx来获取。
经过以上步骤就完成了新磁盘分区的格式化和挂载了。