参考:https://www.ibm.com/developerworks/cn/linux/l-tip-prompt/tip05/index.html
环境:ubuntu18.04
原硬盘:pcie 360g
新增硬盘:sata 1T
所需命令和文件
fdisk
mkfs.ext4
blkid
/etc/fstap
前言:主要还是参考 文中的参考网页中的所作。
- 买回来的硬盘 可在/dev/sdb下识别到。但没有分区
这里是将硬盘只分成一个分区。想分成多个分区的可以多搜搜fdisk 的使用方法
1. sudo fdisk -l 可以发现我的新加硬盘是/dev/sdb
2. 使用fdisk 进行对/dev/sdb 分区
```
1.sudo fdisk /dev/sdb
2.接着输入 n //创建新分区
3.接着输入 p //作为主分区(我也只分为一个分区)
4.接下来的字节大小 (我选择默认直接回车 默认)
5.接下来是分区大小 (选择默认大小 直接回车)
6.这时候已经创建好 p (可查看分区信息) w (保存分区信息) q(不保存信息,退出)
7. 选择 w 保存,
```
3.以上分区完成,可以sudo fdisk -l 查看分区信息
我的情况在/dev/sdb 下会多出/dev/sdb1 分区节点
以下基本是参考网页中所作
-
对新分区创建文件系统
sudo mkfs.ext4 /dev/sdb1
-
在/mnt 挂载 这个分区
创建 /mnt/newpart 目录sudo mkdir /mnt/newpart
将分区挂载到这个目录
sudo mount /dev/sdb1 /mnt/newpart
我这里没有使用单用户模式 init 1
我进入该模式键盘没有输入,所以放弃了
-
将/home 所有拷贝到新分区中
cd /home
cp -ax * /mnt/newpart我原来的/home 目录不是一个单独的分区。是在/dev/sda 下,和/目录是一个分区。
更改名字
cd /
mv /home /home.old //保留原先的/home
mkdir /home
mount /dev/sdb1 /home
这里备份原先的/home 目录很重要,避免后面mount出错,可还原 原来的家目录
-
将/dev/sdb1 挂载到家目录 写入配置文件
我们上面使用的mount 命令只是临时的。所以需要写入配置文件 /etc/fstab前车之鉴 看结尾的备注(为了避免出错可以先将 mount 到/mnt/newpat下,重启确保可以mount上/mnt/newpat再修改为 挂载在/home )
查看硬盘的UUID
1.sudo blkid /dev/sdb1 这是我的 0e729050-****-****-913f-c3453217863e 2.sudo vim /etc/fstab 在最末尾新加一行 UUID=0e729050-****-****-913f-c3453217863e /home ext4 defaults 1 2
以上则重启完成。
最后重启后进到 ~/
df ./
可以看到挂载家目录的分区在
/dev/sdb1
备注:
我在上面出现的错误记录一下。
1. 由于 在/etc/fstab 写错信息 导致硬盘没挂载上,会进入linux的grub 引导(可以继续使用命令行 (仅限root用户))。
解决方法:在grub 引导中重新修改/etc/fstab。
2.我由于没太注意到 /etc/fstab 中哪里出现错误,所以直接把原先的挂载删除。
会导致进入用户界面无法进入
其实是/home 目录被我备份成 /home.old
新的/home又没挂载上所以出现进不去。
使用命令行 ctrl+alt+F2进入命令行登录 随后修改/home 目录回来
3.接着继续看我挂载哪儿失败了
(其实是defaults 写成default 汗颜)