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

本文由 极客范 - 钟益强 翻译自 Danny Stieben。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。

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

但是如果你用的是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吗?你觉得上面这些方法难不难?在评论里留言让我们知道吧!

 



原文链接: Danny Stieben 翻译: 极客范 - 钟益强

译文链接: http://www.geekfan.net/1860/

[ 转载请保留原文出处、译者和译文链接。]

翻译圈新手,请多指教~

4 评论

  1. 猪头  /  2013 年 6 月 25 日, 下午 5:19 回复

    很好很强大,对于我这最近把linux作为自己的唯一操作系统的新手很有用,切到我的evernote中保存下来。翻译辛苦啦!

    Thumb up 0 Thumb down 0

  2. Asher  /  2013 年 6 月 25 日, 下午 5:42 回复

    说不定还真会用的着~~~

    Thumb up 0 Thumb down 0

  3. 深海墨客  /  2013 年 6 月 25 日, 下午 9:13 回复

    我直接把硬碟当移动硬碟,需要在哪一台电脑使用Ubuntu,就接上那台电脑的SATA。多亏Linux发行版都没有像微软采用的限制机制,我才可以这样做。
    P.S.我的Ubuntu还没有装特定的显示驱动,所以完全没有遇到任何问题。

    Thumb up 1 Thumb down 0

    • weakish  /  2014 年 12 月 16 日, 下午 6:01 回复

      > 我直接把硬碟当移动硬碟…多亏Linux发行版都没有像微软采用的限制机制,我才可以这样做

      Microsoft 有 Windows To Go,基本上移动硬碟都可以用。
      闪存盘如果被认成可移动磁盘就不行,不过可以用 VHD 解决,比 Windows To Go 略损性能。

      Thumb up 0 Thumb down 0

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">