网站首页 > 技术文章 正文
ssd硬盘下的操作系统,在启动速度和运行速度上,都有着hdd硬盘无法比拟的优点.对于现有系统来说,能无损迁移到ssd,节省了重装系统的麻烦.
稍微好一点的ssd硬盘,官方都提供了相应的迁移工具,比如三星的ssd,就提供了'samsung date migration',还有一些通用的迁移工具.但是几乎所有的迁移工具(官方或免费软件),都是针对windows系统的,linux系统的迁移,比较适合动手能力较强的同学,一般的思路是:
- 目标硬盘的分区和文件系统创建,挂载(fdisk,mkfs,mount等命令)
- 原系统的文件复制到目标磁盘(dd,cp,rsync等命令)
- 修复新硬盘的引导程序(grub等命令)
本文也提供一种方案,提供了迁移脚本,简化迁移步骤.
1.ssd分区
fdisk -l
定位到ssd磁盘,本文是/dev/sdb(替换为自己的,下同)
fdisk /dev/sdb
输入n:添加分区
输入p:分区类型为主分区
输入分区号:直接回车(默认值)
输入w:把分区表写入硬盘并退出
至此磁盘/dev/sdb下的分区/dev/sdb1创建完毕
2.创建文件系统(格式化)
mkfs.ext4 -n /dev/sdb1
其中/dev/sdb1为第一步创建的分区(替换为自己的)
至此,准备工作完毕
3.执行迁移脚本
下载脚本链接到/usr/local/bin目录下:
https://raw.githubusercontent.com/lerit/clone-ubuntu/master/clone-ubuntu.sh
执行以下两个命令:
sudo chmod a+x /usr/local/bin/clone-ubuntu.sh
sudo clone-ubuntu.sh
首先会有个确认,让你确认老硬盘分区和新硬盘分区,核对无误后,输入Y就开始了文件复制工作和迁移处理,耐心等待,有进度条,成功之后,会生成一个报告,告诉你复制了什么,处理了什么.
4.引导修复
以上脚本完成了几乎所有的迁移步骤,现在剩下唯一的一个问题:
当前是两个磁盘都有一模一样的linux系统,并且引导程序在老硬盘,现在重启菜单中可以选择进入哪一个linux系统,如果这就是你想要的结果,那么到此为止,就可以了.
但是大部分人是为了用ssd替换下老硬盘,因此如果想让ssd独立存在,还需要如下步骤(老硬盘先别卸下来,开机启动时,如果提示选择启动硬盘,也只能先选择老硬盘):
启动界面选择新linux系统进去到系统(此时应该体验到了进入速度的不同了)
使用Boot-Repair工具(
https://help.ubuntu.com/community/Boot-Repair)
执行以下3个命令安装:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
安装后会自动启动一个界面,询问当前新硬盘是否为可移除硬盘,选择否,他就开始自动修复了,修复成功会问你是否将修复报告上传,选择否即可.
关机-卸下老硬盘,启动电脑,然后应该就没有系统选择的菜单,直接进入新系统了,
至此,完毕.
备注:备份重要文件,永远都是第一位的,以上步骤要注意:
(1)处理磁盘时候,一定要处理新的ssd硬盘,别弄错了
(2)迁移脚本不会破坏老硬盘的数据,所以数据是不会丢的
猜你喜欢
- 2025-08-01 AI 推理 | vLLM 快速部署指南
- 2025-08-01 Java实现调用nvidia硬编解码
- 2025-08-01 运维必备:掌握这3个存储技术
- 2025-08-01 Claude Code:完爆 Cursor 的编程体验
- 2025-08-01 【Docker 新手入门指南】第十章:Dockerfile
- 2025-08-01 Linux漏洞检测与修复工具示例
- 2025-08-01 Dify存储告急别焦虑!6步迁移教程,系统无缝切换,流畅度暴涨!
- 2025-08-01 技术栈:全网疯传的Claude code,保姆级使用教程来啦!
- 2025-08-01 如何使用 Prometheus 监控 Linux 服务器性能
- 2025-08-01 LLVM IR入门:编写自定义优化Pass的完整教程与性能影响分析
- 08-01Linux Systemd入门
- 08-01使用 Checkmk 监控 Oracle 服务器
- 08-01核心库CPU飙到99%了!我发现很多DBA都不会看日志……
- 08-01China's CETC Kingbase Unveils AI-Powered Database Appliances Amid Rising Demand for Intelligent Data Infrastructure
- 08-01Docker安装部署Oracle/Sql Server
- 08-01Oracle数据库安装 | 步骤详细
- 08-01基于Springboot + vue实现的社团管理系统
- 08-01前端开发如何用Mock.js进行数据接口模拟
- 1520℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 623℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 526℃MySQL service启动脚本浅析(r12笔记第59天)
- 492℃启用MySQL查询缓存(mysql8.0查询缓存)
- 491℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 479℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 460℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 458℃MySQL server PID file could not be found!失败
- 最近发表
-
- Linux Systemd入门
- 使用 Checkmk 监控 Oracle 服务器
- 核心库CPU飙到99%了!我发现很多DBA都不会看日志……
- China's CETC Kingbase Unveils AI-Powered Database Appliances Amid Rising Demand for Intelligent Data Infrastructure
- Docker安装部署Oracle/Sql Server
- Oracle数据库安装 | 步骤详细
- 基于Springboot + vue实现的社团管理系统
- 前端开发如何用Mock.js进行数据接口模拟
- 使用vite为vue项目配置@别名
- 基于Springboot + vue3实现的教务管理系统
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- js~~ (67)
- node_modules怎么生成 (87)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)