新电脑+旧系统:教你在不同机器间转移Linux

简介:

科技发展得如此之快,如果你发现自己频繁地更换电脑或电脑配件,大可不必觉得奇怪。比如你可能想买个全新的笔记本,或者换掉你那不能再烂的硬盘。这些情况下,如果你能非常轻松地把你的操作系统移植到新电脑或新硬盘上面去,一切就太完美了。

但是如果你用的是Windows这将会是一个不小的挑战,尤其是要重新激活系统的时候。而Linux的话就会相对无压力很多了。事实上有很多种方法来移植Linux,但我现在只打算推荐我认为最简单的一种。

全新安装

最常见的“移植”方法就是在你的新电脑上重新安装Linux然后把你的文件都复制过去。虽然这是最普遍的做法,但仅在你无法在一个电脑上连接两块硬盘的情况下我才推荐你这么做,无论你打算把系统移到新电脑还是新硬盘。当备份你的个人文件时,你应该着重看一下 /home ,/etc ,/opt,/root,/var 这几个文件夹。桌面用户应该主要看看/home 目录因为那里有他所有的个人文件。而服务器用户应该重点检查下/etc和/var,因为那有配置文件和托管数据等。

记录安装包


基于debian的发行版都可以很轻易地列出系统上已安装的包的列表并把它们写入文件中。这个列表可以用于新系统以便重新安装它们。你只需要在终端里输入

sudo dpkg –get-selections > /home/[your user name]/packagelist.txt

(这里要把 [your user name] 改成你的用户名),就可以创建这个列表文件了。然后把这个文件复制到新系统中,再在终端里输入

sudo dpkg –set-selections < /home/[your user name]/packagelist.txt

这样就标记了所有之前系统已安装的包,但直到你运行

sudo apt-get -u dselect-upgrade

这些包才会被安装上去。它会从官方源里面安装这些包,一会儿功夫你熟悉的软件就都回来了。别忘了把你之前备份的文件恢复到相应文件夹里面,然后你的Linux“移植”计划就宣告成功了!

复制分区


如果你能够把两个硬盘连接到同一台机器上,就可以很轻松地把整个Linux分区复制到新硬盘过去。这个方法使得移植完成后系统更能保持它原有的样子,因为你不必重新安装系统和所需要的包。除了要有两块通过某种方式成功连接到同一机器的硬盘,你还要有一个刻录了任一Linux发行版的DVD或者USB。
比如,一个刻录了Ubuntu ISO文件的DVD/USB 就相当不错。然后进入这个live环境,打开Gparted ,只要选中你要复制的分区,复制后粘贴到新的硬盘上就可以了。当复制到一个较大的硬盘时你可以在移植后再调整大小,但如果新硬盘容量较小,你必须在移动之前先重新调整它的大小。一旦复制粘贴完成,接下来就需要按顺序输入一些命令来安装启动引导程序到新的硬盘上。在终端里输入:

sudo mount /dev/sdX# /mnt

sudo mount –bind /dev /mnt/dev

sudo mount –bind /proc /mnt/proc

sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

sudo chroot /mntgrub-install /dev/sdX

你得把上面的 x 替换成新硬盘的驱动号,把 # 替换成新硬盘上新系统的分区号。这些信息都可以在Dash板的一些磁盘管理应用中找到。现在就把新硬盘安装回原来的机器,再启动你的Linux。进入你的系统后你需要运行

sudo update-grub

来保证GRUB 正确地识别各个硬盘上的各个系统。如果你的硬盘上有另外一个操作系统比如Windows,这一步尤为重要。

总结

希望这两个方法能让你很快很轻易很高效地移植Linux到新硬盘或新电脑上。如果你按照上面说的做了,应该是不会有什么问题的。出现了问题或者需要帮助的可以在这篇文章下面评论,我会尽我所能帮助你们。

你自己有移植过Linux吗?你觉得上面这些方法难不难?在评论里留言让我们知道吧!

 

原文发布时间为:2013-07-07

本文来自云栖社区合作伙伴“Linux中国”

相关文章
|
7月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
604 3
Linux系统禁用swap
|
7月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1138 3
|
8月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
8月前
|
存储 Ubuntu Linux
「正点原子Linux连载」第二章Ubuntu系统入门
在图2.8.2.4中,我们使用命令umount卸载了U盘,卸载以后当我们再去访问文件夹/mnt/tmp的时候发现里面没有任何文件了,说明我们卸载成功了。
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
706 3
Linux系统初始化脚本
|
8月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
537 18
|
7月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
798 1
|
7月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1231 1
|
8月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
2120 10
|
7月前
|
数据管理 Linux iOS开发
Splunk Enterprise 9.4.5 (macOS, Linux, Windows) - 机器数据管理和分析
Splunk Enterprise 9.4.5 (macOS, Linux, Windows) - 机器数据管理和分析
210 0