Ubuntu 挂载硬盘到 /home 目录下扩容
sudo fdisk -lu
·
实验室提供的 NVIDIA Jetson NX 内存容量太小,只有16G,刷完机装上系统和 CUDA 等安装包后,系统只剩下一点多个G,后面完全是不够用的,因此需要加硬盘并挂载才能扩容。我加了一块128G的固态硬盘,所以写一篇文章记录一下各种踩坑的过程。
1. 查看硬盘所有分区
命令行输入
sudo fdisk -lu
可以看到 /dev/nvme0n1 就是我们加的固态硬盘,还没有使用
2. 给硬盘分区
使用 fdisk 对硬盘进行分区
sudo fdisk /dev/nvme0n1 [自己硬盘的名称]
- 在 Command(m for help)提示符后面输入 m,查看支持的命令;
- 在 Command(m for help)提示符后面输入 n,执行 add a new partition 指令给硬盘增加新分区;
- Partition type: Select 根据自己情况,可以选择主分区和扩展分区,我输入 e,选择扩展分区;(后来发现这里输入 p 可能更好,选择扩展分区的话会有坑,导致后面无法格式化硬盘,下文也会讲到)
- 出现 Partition number (1-4) 时,输入1表示只分一个区;
- 后续指定硬盘分区大小,默认起始地址为 2048,结束地址为:****,不输入数字的话按 ENTER,将填入默认值;
- 在 Command(m for help)提示符后面输入 p,打印分区情况,可以看到已完成分区;
- 在 Command(m for help)提示符后面输入 w,保存分区表。退出。
再次输入
sudo fdisk -lu
查看硬盘分区,显示 /dev/nvme0n1p1 则表示分区完成
3. 格式化硬盘
输入命令
sudo mkfs -t ext4 /dev/nvme0n1p1
坑来了!如果前面分区类型选择的是 e 即 extended 扩展分区的话,这里格式化硬盘会报错,如下图,那么如何解决呢?有两种办法:
- 如果不删除分区,那么就在建立扩展分区后,不输入 w 保存,而是再输一次 n 新建分区,此时第二选项会变成 logical(逻辑分区),选择后就会真正创建逻辑分区,然后对其 mkfs 格式化才会成功。因为扩展分区不能承载文件系统,需要在扩展分区上创建逻辑分区后才能进行格式化。
- 或者干脆在选择分区类型的时候就选择 p 即 primary 主分区,则会避免出现这个问题。
我选择的是第一种解决办法,可以看到我又分了一个区,现在可以格式化了,我们对新分出来的逻辑分区格式化,输入
sudo mkfs -t ext4 /dev/nvme0n1p5
稍等一会,格式化成功。
4. 挂载硬盘分区
查看现在的分区情况,输入
df -kh
可以看到新加的硬盘已经能显示了,但是我想让它挂载到 /home 目录下,对 /home 目录进行扩容。
接着可以先把新硬盘挂在一个临时目录下,输入下面一串命令。
cd /mnt/
sudo mkdir home //创建一个home目录,用来后面代替现在系统的home目录
sudo mount /dev/nvme0n1p5 /mnt/home //将硬盘挂载到/mnt/home目录下
df -h //查看
继续:
sudo cp -a /home/* /mnt/home/ //把现在home目录下的东西全部复制到挂载创建的临时home目录下
sudo rm -rf /home/* //删除home下的东西(此处注意 请看后面)
sudo umount /dev/nvme0n1p5 //卸载硬盘
df -h //查看
注意:删除 home 之后可能会出现桌面全部消失的情况,不用担心终端还在,把后面的设置命令全部输完,重新开机后一切会恢复正常。
5. 设置开机自动挂载
不设置开机自动挂载的话,每次开机都得手动再操作一遍,比较麻烦。打开文档:
sudo gedit /etc/fstab
在最后面增加一行:
/dev/nvme0n1p5 /home ext4 defaults 0 1
保存并退出。
df -h 查看 /home是否被挂载,此时并未被挂载
挂载/etc/fstab 中未挂载的分区
sudo mount -a
df -h // 查看
最后 sudo reboot,搞定!
参考:
更多推荐
已为社区贡献1条内容
所有评论(0)