其实本文所有的内容在Archwiki上都可以找到,并且更新更全面(只是比较零散),我所做的只是对安装流程做一个小小的总结,每一步我都会稍微解释一下,但不会说的特别详细,毕竟这只是一篇安装引导文,而不是Wiki。

首先显然是下载最新的archlinux安装镜像:

1,用浏览器打开archlinux源,比如mirrors.163.com,mirrors.ustc.edu.cn(这里以163为例):(url)http://mirrors.163.com/archlinux/

可以看到,有个iso目录,这就是安装镜像所在的地址了。打开后里边是这个样子的:

其中latest目录下,是包含官方最新的archlive镜像,而archboot目录下,则是另一个版本的archboot镜像(以前的archlinux官方镜像,包含一个类似FreeBSD的图形化安装脚本哦,感兴趣的童鞋可以试试,感觉还是比较好用哦)。不多说了,还是进latest下载安装镜像(直接扔地址:)http://mirrors.163.com/archlinux/iso/latest/archlinux-2016.01.01-dual.iso(建还是自己进去下哦,说不定你看到本文时,2016年2月甚至2017年的镜像已经出了,建议下载最新的)

600多兆,时间比较漫长,我就先八一下怎么做安装USB,要是你用linux系统,直接dd进U盘就行了(命令我不多说了我觉得linux用户应该都会,不会的google baidu一下也会了,另一个方法就是男人(man)一下dd(搞基?),咱还是策反windows下的众linux小白为主)。

考虑到网上众基们用ultra iso做启动盘的比较多,我就顺应民意用一下这个软件:

用ultra iso打开刚才下载好的镜像文件,选择启动->写入硬盘镜像

并在接下来的窗口选择RAW写入:

等一会儿,就写完了(要是启动失败,请移步互联网,找更靠谱的方法,(因为这不是重点))

假设在座各位已经搞定了启动方法,下边就是安装了(我用的vbox虚拟机)

嗯,现在的电脑都支持x86_64(amd64),只要电脑不太差,选这个就OK了,内存小,可以选i686可以省内存哦(上下箭头选择,回车继续,不用我教吧)。

嗯嗯,看到一个命令行界面输一个lsblk看看有没认到硬盘:

那个sda就是硬盘了。分区cfdisk /dev/sda,在接下来的界面选dos(也可能没这个界面)

然后new一个分区(这里我是把所有空间都给我们的btrfs分区了,各位看官按需分区,按需分区嗯)并加上boot标志(以防有些sb主板只认有boot标志的硬盘):

然后选“Write”写入,选“Quit”退出。注意上边那个Start,一定要是2048或以上(比如4096 8192……),否则btrfs无法作为启动分区,什么你的是64?那……换个别的工具分区吧……

再lsblk,我们看到了sda1,分区搞定。

下一步就是格式化了,好激动,千万不要格式化错了分区哦(看官:你妹的在虚拟机下激动个P,就一个分区……)

mkfs.btrfs /dev/sdaX

看到这个提示,说明格式化成功了。接下来,建立子卷:

我建立了rootfs子卷作为archlinux的/,建立了homefs作为/home,接下来就是挂载:

解释一下:先cd ..跳出/mnt目录然后umount(卸载)掉sda1(不cd出去会umount失败),然后把rootfs子卷挂载到/mnt,然后建立/mnt/home目录,挂载homefs到/mnt/home,最后用mount命令查看一下挂载是不是成功了。

至于挂载参数,我作为例子,只用了一个compress=lzo,也就是用lzo模式压缩卷,lzo是一种先进的压缩实时算法,能减少磁盘占用,提升硬盘性能哦,当然如果系统装在SD卡等特别慢的设备上,我推荐zlib算法,牺牲部分CPU性能换硬盘速度,因为zlib压缩率高,比如把原来100M的文件压缩成了50M,读写显然就只用原来一半的时间,很好理解。

其他挂载参数,抄一下wiki上的:

依照你是SSD还是HDD,各取所需了吧。另外,稍微提一下,btrfs现在不支持各个子卷用不同的参数挂载,所以只有第一个子卷挂载时需要上边的罗哩罗嗦的一堆参数,比如上边我挂载home时,就只加了个subvol参数,指定子卷,其他会默认跟rootfs的一样。

挂载好了,下一步就是安装了,先编辑一下

把你最快的源放在最前边,比如我是用的163为例子:

然后就是安装基本系统:

我安装了base btrfs-progs grub三项,要是需要wifi-menu连无线,还需要架上wpa_actiond dialog,嗯,安装个很快,几分钟就装完了。

好了,下一步生成fstab与grub启动项:

嗯,命令我都用红框框出来啦,一定按顺序,别敲错了。

第一步用genfstab –U /mnt来查看生成的fstab项,如果没问题,第二步就是用>>符号把这些写到/mnt下的/etc/fstab(为什么是mnt下的呢?)。

然后用chroot后用grub-mkconfig生成grub菜单。并导入grub.cfg

最后一步,安装grub到mbr:

嗯,注意最后一行,有No error reported,就说明安装成功了。

接下来重启就OK了

先exit退出chroot环境,然后sync一下(不做其实也无所谓),然后reboot

启动成功,用root登录,密码为空

嗯,现在系统768M,好大

Archlinux在Btrfs分区上的安装(bios篇)的更多相关文章

  1. Windows 10+Ubuntu 16.04在MBR分区上安装双系统(转)

    以下内容转自这篇博客: http://www.cnblogs.com/Duane/p/5424218.html http://www.cnblogs.com/Duane/p/6776302.html( ...

  2. ArchLinux安装(BIOS)

    ArchLinux安装(BIOS) 说在前头:在经历过无数次的失败尝试过后总结出的可用的安装过程(比官方的简单一点) 官方安装指导 一.连接网络 1.连接 # wifi-menu 2.检查是否联通 ( ...

  3. GPT分区基础知识及如何在GPT分区上安装WIN7

    大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘,更快速的启动win8,预装系统都采取了GPT分区 ...

  4. 安装ArchLinux的参考分区方案

    其实就是从Archwiki上搬运过来的 = =. 分区方案 虽然有一些关于分区方案的通用建议,但没有严格的准则.有许多影响分区方案的因素,例如对灵活性的期望,访问速度,安全性以及可用磁盘空间的硬性限制 ...

  5. 安装win8/win10提示无法在驱动器0分区上安装windows解决方法

    在通过U盘或光盘安装win8/win8.1/win10系统时,不少用户遇到无法安装的问题,提示“无法在驱动器0的分区1上安装windows”,格式化分区1也不能解决,进而提示Windows无法安装到这 ...

  6. 如何在GPT分区上安装WIN7

    大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘,更快速的启动win8,预装系统都采取了GPT分区 ...

  7. Windows 10+Ubuntu 16.04在MBR分区上安装双系统之后启动菜单的System Setup选项提示:can't find command "fwsetup"

    背景: 硬盘分区方式:MBR 硬盘容量256,Windows 100,Ubuntu 156,其中主分区安装的是Windows,Ubuntu安装在逻辑分区上,文件系统为Ext4,整个Ubuntu就挂载在 ...

  8. Windows 10+Ubuntu 16.04在MBR分区上安装双系统之后没有Windows 10的启动菜单解决方法

    背景: 硬盘分区方式:MBR 硬盘容量256,Windows 100,Ubuntu 156,其中主分区安装的是Windows,Ubuntu安装在逻辑分区上,文件系统为Ext4,整个Ubuntu就挂载在 ...

  9. mac+win10:UEFI分区方式下安装windows 10

    小编,最近通过在远景论坛上寻找教程--安装双系统(win10+mac os).经过一天努力,成功安装win10.为此,特地分享给各位正在需求教程的朋友,我在UEFI分区方式下安装windows 10的 ...

随机推荐

  1. ASP.NET MVC 与Form表单交互

    一,Form包含文件类(单选文件) <form id="ImgForm" method="POST" enctype="multipart/fo ...

  2. C# - ADO.Net 调用存储过程

    ------------------------存储过程调用,创建DataSet:----------------------//数据库连接字符串string connStr = @"Dat ...

  3. 20个命令行工具监控 Linux 系统性能

    对于每个系统管理员或网络管理员来说,每天要监控和调试 Linux 系统性能问题都是非常困难的工作.我已经有5年 Linux 管理员的工作经历,知道如何监控系统使其保持正常运行.为此,我们编写了对于 L ...

  4. CSS3中新增的内容

    (整理中······) 一.选择器 新增的伪类 1.p:first-of-type   选择属于其父元素的首个 <p> 元素的每个 <p> 元素. 2.p:last-of-ty ...

  5. eclipse - tomcat 远程调试

    步骤:前提是tomcat上应用是eclipse打包部署上去的,代码一致. 1,在机器A上部署应用remote-debug之前,需要为机器A上的tomcat配置调试端口.在${tomcat}/bin下加 ...

  6. hdu1238--Substrings

    暴力求解 题意:求一个公共子串的最大长度,反转的公共子串存在也算. 求解思路:先找出最短的字符串进行暴力枚举.每截取一个子串后,求出它的反转字符串,然后检验这两个子字符串是否存在输入的字符串组中,每个 ...

  7. QF——UI之UIImageView及UIView的形变属性transform

    UIImageView: 专门用来放置图片的视图.它里面放置的图片是[UIImage imageNamed: (NSString) imgName]生成的,注意千万别只写成图片NSString类型的名 ...

  8. Docker容器的网络连接

    Docker容器的网络连接 Docker容器的网络连接 我们用ifconfig命令来查看网络设备 我们可以看到上面有个叫docker0的网络设备,docker守护进程就是通过docker0为docke ...

  9. hadoop笔记之Hive入门(什么是Hive)

    Hive入门(一) Hive入门(一) 什么是Hive? Hive是个数据仓库,数据仓库就是数据库,但又与一般意义上的数据库有点区别 实际上,Hive是构建在hadoop HDFS上的一个数据仓库. ...

  10. 使用jQuery出现the function undefined

    出现function undefined往往是相关的JS文件没有导入导致,在相关文件都导入的情况下,使用jQuery提供的方法还会出现function undefined错误,或许就是jQuery对象 ...