使用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。
我希望你能够使用本教程,这是有帮助的。
不要犹豫,对本教程进行评论,以帮助我改进,请原谅我的英文不好(我是法语)。