使用Debian启动BTRFS

使用Debian启动BTRFS

本教程将向您介绍如何从具有内核2.6.31-RC4和BTRFS 0.19的BTRFS文件系统引导。 BTRFS是一个新的文件系统,具有一些非常有趣的功能,如在线碎片整理和快照。 BTRFS是一个实验文件系统,您自己承担风险。 所使用的内核也是实验性的。

这个教程对我来说很好,但是我不保证这对你有用,并且对你可能遇到的任何问题都承担所有责任。

先决条件:

Debian安装媒体
ubuntu liveCD
互联网连接(以太网)

第1步:安装Debian

启动到Debian CDrom,选择安装并回答问题,直到您必须分区硬盘驱动器。

然后选择手动。 为了能够启动,我们必须至少做2个分区(我建议做三个)(我认为GRUB不支持BTRFS引导,所以它将有自己的分区)。

第一个将包含linux内核和grub,引导程序,我将在本教程的后面解释这些术语。 我认为这个分区有250MB的效能。

类型:EXT2
装载点:“/ boot”
可启动标志:是的。
然后选择“使用此分区完成”。

对于另一个,您可以选择自动创建分区,或者使用mountpoint“/”自己创建分区,然后键入“ext3”
(如果您不想要交换,您可以占用所有空间,否则可以使用GB + 500MB中的ram数量保留一个空间进行交换以便休眠)。

您可以添加一个交换文件(如果您不希望有一些警告),请输入“swap area”。

然后编写设置来驱动并回答问题(除了基本系统,我个人安装什么,所以在软件选择中根本没有“*”,但是可以随意安装你想要的),当你询问你将GRUB放到MBR(主引导记录)上。 Debian现已安装。

第2步配置aptitude:

Aptitude是一个软件包管理器,它意味着它可以使用软件名称为您提供并安装软件。

以root身份登录(使用在安装过程中设置的密码)。

我习惯使用vim编辑器来修改我的配置文件,但是如果你想要的话可​​以使用另外一个。

我们来安装vim:

aptitude install vim

我们现在配置aptitude以获取更新的最新软件:

vim /etc/apt/sources.list

按2次“y”复制一个看起来像这样的行:

deb ftp://ftp.fr.debian.org/debian lenny main

网址可能会改变,但这是正常现象。

按“p”两次,然后按“i”,将lenny变成sid并进行测试。

你应该看到三行一行以“sid main”结尾,另一个由“testing main”结尾,最后是“lenny main”。

按“转义”按钮,然后键入:wq保存并退出。

类型:

aptitude update

如果要将系统升级到不稳定版本的debian类型:

aptitude dist-upgrade

否则直接跳过并键入:

aptitude install zlib1g-dev zlibc kernel-package btrfs-tools libncurses-dev bzip2

Debian有3个主要分支,不稳定的只执行了很少的测试,但是是最新的,测试执行了大部分的测试和稳定的执行所有的测试。

如果你想要不稳定(sid),请转到第3步,否则注释掉你将要测试的包含“sid”的行。 如果你想要稳定的注释测试和sid线。

第3步:编译内核

Linux内核是系统的核心,没有它,你将无法做任何事情。

我们必须修改一些选项,但不用担心,如果遇到麻烦,您将能够在旧内核上重新启动。

这是引导程序GRUB的目的,它允许您选择要引导的内核,即使您要启动到Microsoft Windows。

让我们改变目录:

cd /usr/src

我们必须下载内核,我们也需要一个补丁,因为BTRFS 0.19只适用于一个实验内核。

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.bz2 
wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.31-rc4.bz2

然后我们必须提取它们,将补丁移动到正确的位置并修补内核:

tar xvjf linux-2.6.30.tar.bz2
mv linux-2.6.30 linux
bzip2 -d patch-2.6.31-rc4.bz2
mv patch-2.6.31-rc4 linux
patch < patch-2.6.31-rc4 -p1

我们现在将为内核配置生成一个“图形”界面,转到FileSystems并在BTRFS和BTRFS posix类别前面获得一个“*”。

如果你知道你做什么,但是我不会在这里谈论,你可以稍微调整一下内核,让我们专注于这个主题:

make menuconfig

然后将配置保存到.config(默认名称)并退出。

我们现在准备启动编译,这意味着我们将在机器上构建一些可以安装的东西,同时也可以获得一杯咖啡,因为这将需要一段时间(最近的电脑需要20分钟):

make-kpkg --initrd kernel_image kernel_headers

然后我们安装新的内核:

cd ..
dpkg -i *.deb

我们清理目录,不要删除标题:

rm -rf linux 
rm -rf *.bz2

我们现在生成一个文件,它将帮助内核在引导过程中加载所有需要的东西,这些文件称为initrd,我们更新引导程序:

mkinitramfs 2.6.31-rc4 -o /boot/initrd.img-2.6.31-rc4
update-grub

您现在可以尝试重新启动,我们完成了内核编译和安装。

如果你有麻烦,回到第3步。

第4步:准备BTRFS启动:

我们现在必须为BTRFS首次启动准备系统。 实际上,我们的系统现在可以读取BTRFS,但系统没有配置为启动它。 我们仍然可以修改文件,但在FileSystem转换后,我们将无法修改任何内容,所以我们现在必须这样做。

有两种识别文件系统的方法:UUID(这是一个唯一的字母数字标识符)和一个看起来像/ dev / sda3的标识符。 UUID的优点是即使在USB设备上也很少发生变化,但是我们将转换FileSystem,并且UUID可能会改变,所以我们不能相信它。 但是/ dev标识符不会随着我们的配置而改变,所以我们可以使用它。

默认情况下,系统使用UUID,所以我们会改变它。

识别我们的分区“/”

fdisk -l

找出哪个分区号是你的“/”,这是分区最大的大小,如果你制作了如上所述的分区。

在我的电脑上,这是/ dev / sda3,但它可以是别的东西(可能是/ dev / sda2),所以更改“%”正确的数字。

有可能您没有/ dev / sda,但是像/ dev / hda或/ dev / sdb这样的情况下使用屏幕上打印的内容而不是/ dev / sda。

vim /boot/grub/menu.lst

键入/ initrd

然后编辑(使用“i”)并将root = uuid = complexity_thing更改为root = / dev / sda%,作为其中的2.6.31-rc4。

退出并保存。

fstab是一个文件,它提供您传递给文件系统以引导的选项,例如,您可以在BTRFS下激活压缩或避免在文件系统上写入。 我们必须用/ dev / sda%替换“/”的UUID:

vim /etc/fstab

寻求类似UUID = complex_thing / ext3 errors = remount-ro 0 1并替换为/ dev / sda3 / btrfs errors = remount-ro 0 1退出并保存

转换文件系统

BTRFS中有一个实用程序将EXT3转换为BTRFS文件系统,但在系统运行时不能使用它,这称为离线转换器。

所以我们必须找到另一种方式来做,这就是我们使用ubuntu live CD的地方。 重新启动系统并在Ubuntu LiveCD上启动。

CD完成启动后,使用键盘“alt + F2”,键入“gnome-terminal”(或“konsole”,如果您选择了kubuntu),然后使用root帐号登录:

sudo su

执行第2步,包括“aptitude update”。

我们不想安装我们在debian上安装的所有东西来构建内核,只需键入:

aptitude install btrfs-tools
btrfs-convert /dev/sda%
reboot

如果一切顺利,您现在正在BTRFS文件系统上正确启动Debian。

我希望你能够使用本教程,这是有帮助的。

不要犹豫,对本教程进行评论,以帮助我改进,请原谅我的英文不好(我是法语)。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏