背景
目前 Ubuntu 系统位于一块 512GB 的固态硬盘上,系统根目录 /
位于该盘,/opt
目录挂载在一块 2TB 的固态硬盘上。现在希望将 2TB 固态用作新的系统盘,并保持原有的系统设置、已安装软件和驱动。
注意事项
由于涉及硬盘维护,建议在操作前先备份数据。我使用了一块 20TB 的机械硬盘将 /opt
目录的数据进行迁移备份,确保数据安全。
实际操作步骤
1. 迁移前准备
关闭服务
在 Ubuntu 系统中,许多服务依赖 /opt
目录,例如 Docker 的 containerd
目录。因此,在进行调整前,建议关闭相关服务并重启系统,确保操作期间不会受到其他服务的干扰。
关闭 Docker 服务:
sudo systemctl disable docker
sudo service docker stop
2. 迁移 /opt
数据
由于 /opt
目录下的数据约有 1TB,且机械硬盘的写入速度为 240MB/s,因此此过程会较为耗时。
执行以下命令,将 /opt
数据迁移到新的路径:
mv /opt /data/opt_bak
3. 查看硬盘信息
使用 fdisk
查看当前系统中的硬盘信息:
sudo fdisk -l
典型输出示例:
Disk /dev/nvme1n1: 476.94 GiB, 512GB
Disk /dev/nvme0n1: 1.86 TiB, 2TB
4. 卸载 /opt
挂载点
由于 2TB 盘当前挂载在 /opt
,需要先卸载:
umount /opt
5. 格式化 2TB 新硬盘
格式化 2TB 的固态硬盘为 ext4 文件系统:
sudo mkfs.ext4 /dev/nvme0n1
6. 更新挂载设置
如有必要,取消自动挂载 /opt
,编辑 /etc/fstab
文件并删除或修改相关挂载条目:
sudo vim /etc/fstab
7. 迁移原系统数据到 2TB 新硬盘
使用 dd
命令将原系统盘(512GB)中的数据复制到 2TB 新硬盘:
sudo dd if=/dev/nvme1n1 of=/dev/nvme0n1 bs=16M status=progress
完成后,重启系统并从新的硬盘启动。
8. 扩展分区至完整容量
重启后,系统可能会显示新硬盘的容量仍为原来大小(512GB),此时需要手动扩展分区。
安装 gparted
工具:
sudo apt update
sudo apt install gparted parted
使用 gparted
扩展分区至 2TB 完整容量。
9. 恢复 /opt
目录
迁移完成并扩容后,将之前备份的 /opt
目录恢复:
sudo mv /data/opt_bak /opt
通过该操作,新的固态硬盘将成为系统盘,并保留原有的系统配置和软件。