迁移linux系统到新硬盘
原文在这里:https://www.findhao.net/easycoding/2070
Introduction
老师评上了学校的青年学者重点培养计划,每年多了好多资金。实验室机器的配置也在逐步升高。上一批加ssd的时候,我们没分到,这次补上。
本文记录的是将我的debian9 从原来的闪迪120G SSD迁移到三星 250G SSD的过程。
1. 准备工作
做好数据备份!
所有的操作均在u盘的livecd下进行的。
2. 查清楚分区号
通过在root用户下fdisk -l
查清楚目前的分区号。
比如,我的闪迪是/dev/sdb
,有两个分区,一个200MB的boot是sdb1,剩下的是扩展分区的根目录sdb5。而三星是空的。
使用图形化的GPrated在三星的那块硬盘上新建主分区,默认为sda1。
3. 使用dd拷贝数据
在网上查到的一些资料是直接拷贝整个硬盘/dev/sdb
到/dev/sda
,在拷贝时,包括了分区表。导致250G的硬盘,拷贝结束后,里面有110GB(原硬盘的大小)的分区是拷贝过来的数据,剩下的是没有划分的空间,然而还不能直接调整新建的110GB的分区大小,把这没有划分的空间补充过去。
而且,由于历史遗留原因,一开始划分200MB的boot实在是不太方便的做法。因此,这里只拷贝根目录分区的内容过去,boot重新拷贝并标记上。
3.1 执行的dd命令
我的根目录所在的分区是/dev/sdb5
,新硬盘划分的是/dev/sda1
。
dd if=/dev/sdb5 of=/dev/sda1
由于dd命令没有展示中间过程,因此使用另一条命令来让他输出中间过程:
watch -n 5 killall -USR1 dd
注意dd命令也会拷贝uuid过去,意味着,/dev/sda1
的uuid和/dev/sdb5
的uuid是一样的。
uuid是一个唯一的标识符,因为类似/dev/sda
这样的映射点,在新设备加入的时候,可能会生成新的映射点,比如原来系统里是/dev/sda
现在变成了/dev/sdb
等等,所以一般情况下,在/etc/fstab
里写自己规则的时候,都是用uuid而非映射点。
可以不修改新硬盘分区的uuid,也就省去了修改/etc/fstab
或者/boot/grub/grub.conf
的麻烦。
3.2 拷贝boot分区内容
我的原系统boot分区在/dev/sdb1
,准备将其内容拷贝到新硬盘的默认根目录下的boot
文件夹。
先挂载boot分区和新系统分区
cd /root/
mkdir boot
mount /dev/sdb1 /root/boot
# 挂载新硬盘分区可以跳过,因为在文件管理器里,点击新硬盘以后,会自动挂载到/media/ubuntu/your_uuid
mkdir sda
mount /dev/sda1 /root/sda
cp -aur /root/boot/* /root/sda/boot/
3.3 更新硬盘信息
umount /dev/sdb1 // 记得在操作之前先卸载所有挂载
e2fsck -f /dev/sdb1
resize2fs /dev/sdb1
3.4 修改uuid,添加boot标记
如果你想修改uuid,比较简单的办法是打开gparted,在分区上右键,生成新的uuid。
同时还要修改/etc/fstab
中的内容,替换掉原来的uuid
右键设置标记中选中boot,表明这个分区是有启动点的。
3.5 修复grub
更新grubupdate-grub2
。
如果重启后,进入系统有问题,但是可以进入grub rescue,自己又不知道到底问题出哪里的话,简单的办法是使用boot-repair这个工具。
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
然后打开bootrepair进行一键修复即可。
我的在运行前,询问我/dev/sda
是可移动硬盘吗,当然不是。。在认为他的自动处理能力有问题以后,我点开了高级设置,手动选择了正确的grub位置(/dev/sda
),然后等待修复完成,大概不到10mins。
完成后重启即可进入系统。
迁移linux系统到新硬盘相关推荐
- Linux系统增加新硬盘
linux系统想要添加新的硬盘,按照此方法操作: 1.首先,查看系统硬盘挂载情况:lsblk 或者 lsblk -f 2.虚拟机的话,在设置中添加新硬盘,然后重启. 3.新硬盘分区:fdis ...
- linux系统如何挂载新硬盘,Linux系统挂载新硬盘操作流程
1.登录后输入fdisk -l命令看当前磁盘信息 2.可以看到除了当前的第一块硬盘外还有一块sdb的第二块硬盘,然后用fdisk /dev/sdb 进行分区 3.进入fdisk命令,输入h可以看到该命 ...
- Linux系统挂载新硬盘
1.使用df命令查看设备命名: sda1,sda2,sdb1.....表示该服务器无raid cod..........................表示该服务器包含raid 2. 查看分区情况,找 ...
- linux格式化该新添加的分区,Linux下添加新硬盘及分区格式化要点
预备知识 在为主机添加硬盘前,首先要了解linux系统下对硬盘和分区的命名方法. 在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb.依此类推 一般主板上有两个IDE ...
- Linux的实际操作:给Linux添加一块新硬盘
因为某种原因,Linux系统的一块硬盘已经用完了,现在需要新增加一块硬盘挂载到Linux文件系统上 案例:增加一块 2G的硬盘 sdb1,挂载到文件系统中新增的/home/newdisk文件目录下,后 ...
- Linux 添加一块新硬盘
给Linux添加一块新硬盘可以分为5个步骤 虚拟机添加硬盘 分区 格式化 挂载 设置自动挂载(即永久挂载) 一.虚拟机添加硬盘: 在开始操作之前首先应该在虚拟机(以vm12为例)手动添加硬盘,操作如图 ...
- linux硬盘防止复制,linux系统下的硬盘复制方法
用户提问 有两个内含LINUX系统的CF卡(A和B),由于A中的LINUX系统出了问题,想把A格式化以后,再把B的LINUX系统复制到格式化后的A中,在LINNUX的系统下怎么操作?需要什么软件?我手 ...
- linux挂载固硬盘装,linux下安装新硬盘并挂载mount
linux下安装新硬盘并加载使用手记 ================================================================================ ...
- linux服务器插上硬盘不能开机,Linux服务器添加新硬盘无法识别解决方法(无需重启)...
Linux服务器添加新硬盘无法识别解决方法(无需重启) 发布时间:2018-08-24 19:45, 浏览次数:711 , 标签: Linux 前言 一般来说,当我们在服务上插入新的磁盘时,服务器是会 ...
- Linux 释放Linux 系统预留的硬盘空间
释放 Linux 系统预留的硬盘空间 by:授客 QQ:1033553122 大多数文件系统都会保留一部分空间作为紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时 ...
最新文章
- spring中是如何解析@Profile注解的
- 超详细 kafka 入门(最佳实践)
- Mongodb基本操作之.net
- 量子计算机迷宫,一个简单的例子,带你读懂量子计算机
- 3结构介绍_接收机基本结构
- java生成world文件_Hello World 项目创建与项目配置文件介绍
- 解决myeclipse里面git的更新(pull)操作问题
- 关于二叉树,你该了解这些!
- error: (-205:Formats of input arguments do not match) All the matrices must have the same data type
- 关键路径例题图解_图解!九大常见数据结构被24张图给安排的明明白白
- 定编定岗定员方案_定岗、定编、定员实施方案 (讨论稿)
- 验证码识别登录:使用超级鹰(验证码识别第三方包)识别超级鹰网站登录
- MPB:遗传发育所刘永鑫等-易扩增子:易用、可重复和跨平台的扩增子分析流程...
- QT5 自定义窗口的详细设计方案
- 位、字符、字节、有什么区别
- mc:Ignorable=“d“什么意思?
- EBS 使用API更新物料属性 Inv_Item_Grp
- 电商分销APP开发功能模块
- JavaWeb框架(二):Servlet组件入门
- 《中国脱发地图》来袭!最秃的省是?
热门文章
- python定义一个空的数组_用Python算算你要交多少个人所得税
- c++利用StretchBlt函数改变CImage输出图片的位置
- Unsupervised Learning | 对比学习——13篇论文综述
- word-vba应用
- 不要放弃你的自由——答一些网友的评论
- Delphi XE DataSnap三层开发实务
- Oracle数据库学习笔记(十五)--自连接
- Java测试-RestTemplate-@requestBody
- linux中vim怎么编辑文件内容,Linux 使用vim命令编辑文件内容
- matlab 自动交易系统设计3