ubuntu系统盘空间满了怎么更换硬盘?

正文概述 云码哥   2025-01-23   161

ubuntu系统盘空间满了怎么更换硬盘?

将系统盘的空间转移到新硬盘并将新硬盘挂载到根目录 (/) 下是一个复杂的过程,需要特别小心,因为错误的操作可能会导致系统无法启动。假设新增硬盘为sdb,以下是一个详细的步骤指南:

步骤1:准备新硬盘

  1. 物理连接新硬盘:确保新硬盘已经正确连接到你的系统。
  2. 检查新硬盘是否被识别
    sudo fdisk -l
    

    或者

    lsblk
    

    确定新硬盘的设备名,通常为 /dev/sdb 或 /dev/nvmeXnY

步骤2:创建分区

  1. 使用 fdisk 创建分区
    sudo fdisk /dev/sdb
    

    在 fdisk 提示符下,依次执行以下命令:

    • o 创建一个新的空 DOS 分区表
    • n 创建新分区
    • p 选择主分区
    • 1 选择分区号为 1
    • 按两次 Enter 键选择默认的起始和结束扇区
    • w 写入分区表并退出

步骤3:格式化新分区

  1. 格式化新分区
    sudo mkfs.ext4 /dev/sdb1
    

步骤4:挂载新分区

  1. 创建挂载点
    sudo mkdir /mnt/newdisk
    
  2. 挂载新分区
    sudo mount /dev/sdb1 /mnt/newdisk
    

步骤5:更新 /etc/fstab

  1. 备份 /etc/fstab 文件
    sudo cp /etc/fstab /etc/fstab.bak
    
  2. 编辑 /etc/fstab 文件
    sudo nano /etc/fstab
    
  3. 在文件末尾添加一行,指定新分区的挂载信息
    /dev/sdb1  /mnt/newdisk  ext4  defaults  0  2
    
  4. 保存并退出编辑器

步骤6:复制系统文件

  1. 挂载根分区
    sudo mount /dev/sdb1 /mnt/newdisk
    

    这里的 /dev/sdb1 是你的当前根分区,你需要替换为实际的根分区设备名。

  2. 使用 rsync 复制文件
    sudo rsync -avxHAXSP / /mnt/newdisk/
    

    -a 表示归档模式,保持所有文件属性;
    -v 表示详细输出;
    -x 表示不要跨越文件系统边界;
    -H 表示保留硬链接;
    -A 表示保留 ACL;
    -X 表示保留扩展属性;
    -S 表示处理稀疏文件。

步骤7:更新引导加载程序

  1. 更新 GRUB 配置
    sudo grub-install /dev/sdb
    sudo update-grub
    

    这里的 /dev/sdb 是你的新硬盘设备名。

步骤8:修改 /etc/fstab

注意此时/etc/fstab是旧的系统盘里面的,所以这里要编辑的是新硬盘上的版本/mnt/newdisk/etc/fstab

  1. 编辑 /etc/fstab 文件
    sudo vi /mnt/newdisk/etc/fstab
    
  2. 将根分区的挂载点改为新硬盘
    /dev/sdb1  /  ext4  defaults  0  1
    
  3. 保存并退出编辑器

步骤9:卸载并重新挂载

  1. 卸载旧的根分区
    sudo umount /mnt/newdisk
    
  2. 重新挂载新硬盘作为根分区
    sudo mount /dev/sdb1 /
    

步骤10:重启系统

  1. 重启系统
    sudo reboot
    

重启后,系统应该会从新硬盘启动。确保所有文件都已正确迁移且系统正常工作:

df -h
ls /

通过以上步骤,你可以将系统盘的空间转移到新硬盘上,并将新硬盘挂载到根目录 / 下。

本站大部分资源收集于网络以及网友投稿,本不保证资源的完整性以及安全性,请下载后自行测试。
本站资源仅供下载者学习技术,版权归资源原作者所有,请在下载后24小时之内自觉删除。
本站资源仅供下载者学习IT编程开发技术,请遵守国家法律法规,严禁用于非法用途。
若作商业用途,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
如您是版权方,本站源码有侵犯到您的权益,请邮件联系331752841@qq.com 删除,我们将及时处理!