杂1

声明:下面的内容只是为了给几个为数不多的同学补充知识所写,限于本人当前知识水平,一定会有很多谬误,不与专业教材比质量,被半路出家自学成才的大神嘲笑也是很正常,7吧的小明还是我的人生偶像

其实我一直觉得Win这个系统误人子弟——

  • 有多少人认为非exe文件就不是可执行文件?
  • 再退一步,多少人认为 D盘E盘真的是个盘?
  • 有多少人把SSD只需要一个分区这句话说成SSD不用分区

小明当时天天喷一群傻逼把nt6hddinstaller简称成nt6,虽然强迫症重了点,但是完全可以理解,把一个小脚本叫成操作系统内核的名字,能合适吗?
今天这篇文章抛开win,我们从安装一个Archlinux说起,需要注意的是本文甚至不会采用已经普及的炫酷技术,比如UEFI甚至会故意简化一些复杂概念,比如文件系统,只保证我认为这些内容不会对将来的学习产生消极影响。


进入正题,
假设你什么都不会,你想要安装一个Archlinux,你需要做什么?
——你需要查资料,不是找人问,找人问是下策,查资料是上策。

这里采用Archlinux的一个原因就是这姑且算是资料比较齐全的发行版:这里是Arch的官方wiki (但是下文安装系统我不会按照wiki的来,你可以试着按照wiki走一遍,我装系统是为了说明问题)

我不知道Archwiki是不是介绍了如何制作启动介质,这里就按照我一贯喜欢的方式来做,其实做法有两种,一种是针对Legacy BIOSUEFI系统,另一种仅针对UEFI系统,这里采用通用的办法,至于UEFI有什么优势,为什么会产生这种区别,需要你自己去调查。
国内的Archlinux镜像站还是比较多,这里我用一下清华源,下载一个安装镜像


下载完了这个安装镜像,就是制作启动介质的时候了,首先我们需要明确:启动介质是干什么的。
操作系统本身是安装在硬盘内的,系统上电时还完全没有操作系统什么事,系统上电后由主板内的固件完成自检和初始化等操作,操作系统是被主板固件主动读入到内存并执行的,执行后操作系统从主板固件接手系统控制权。
那么,为什么我们不能控制主板固件读入谁、执行谁呢?
——当然可以,我们的启动介质就是借此发挥作用,我们把一个操作系统写入一个存储介质中(如:U盘、光盘等),然后控制主板固件从这个介质读入并执行操作系统,在启动了这个操作系统之后,再进行把操作系统安装到硬盘的操作,也就是安装操作系统的过程。


明确了启动介质的作用就来制作吧,把下载好的镜像用Win32diskimager写入到U盘中,待写入完成后从等待安装操作系统的机器上启动这个U盘内的操作系统即可。
那么,Win32diskimager到底是什么呢?
这个说来话长,请先做个实验:当你用Win32diskimager把下载好的iso镜像写入到U盘中后,你会发现Windows说你的U盘容量变小了,只有700MB了。
——你的U盘当然是不可能变小的,这都是Windows的锅。
Win32diskimager做的工作极其简单,只是把镜像文件直接写入到你的U盘中去,可是这样一来,你的U盘就失去了原有的数据,众所周知,文件系统是文件的组织形式,你的U盘原本有一个文件系统,这个文件系统是经过格式化操作产生的,在格式化时,格式化程序会检查你的U盘容量,并且把一个只属于这个U盘的文件系统写入到U盘上,这个文件系统记录着格式化程序检测到的U盘各种信息,包括容量等等。现在,你的U盘文件系统不见了,取而代之的是一个光盘的文件系统,系统自然也就无法精准地读出你的U盘有多大。
可是不用担心,当你像你的U盘中写入一些无效数据,系统会因为U盘包含的文件系统不可识别而重新从硬件层面上识别U盘,并会提醒你对U盘进行重新格式化(即写入新的文件系统)。


现在要做的事情就很简单了,我们只需要从U盘启动新系统就可以
进入系统之后,我们首先输入 dhcpcd ,这个命令是一个dhcp客户端,dhcp协议可以帮助连接到局域网的主机自动配置ip。DHCP的服务器,通常是我们的路由器或电信家庭网管等设备。
至此,我们已经连接上了网络,接下来我们设置pacman的镜像服务器地址,依然是设置成清华源,这些设置是为了让之后安装系统的过程更顺利,与我试图通过这篇文章说明的问题无关,故在此不做说明。
在小设置完成之后,我们需要做的首先是给即将安装系统的硬盘分区,需要注意的是,Linux把所有的设备都当作文件来对待,不如说,文件就是二进制块组成的,对于我们的主硬盘(位于/dev/sda),Linux认为它是一个块设备。如果我们向/dev/sda写入了一个0,就是向我们硬盘最开始的为止写了一个0。
我们通过linux下的工具dd(全称为disk dump)来对我们的硬盘首先进行清空操作,即向其写入一定数量的0以保证清除现有的分区表文件系统:(关于这些的解释,请看上文)
dd if=/dev/zero of=/dev/sda bs=1M count=50 conv=fsync
dd if=/dev/zero of=/dev/sdb bs=1M count=50 conv=fsync
由于我有两块硬盘,就需要分别执行两次操作,最后的conv=fsync不属于本文应当涉及的内容,不予解释。
当清除工作完成后,我们就开始分区。
输入cfdisk /dev/sda
对于硬盘,我们需要首先建立分区表,分区表是记录硬盘内各个分区起始和结束为止的数据表,分区表让一个硬盘拥有多个分区成为可能,这里可以选择dos分区表,具体的区别不予展开。
之后我们只需要对硬盘分区即可,记得给主硬盘的系统分区加上bootableflag,这个bootableflag曾经是(但本文不作展开)主板固件识别操作系统的唯一依据。没有它,主板固件就不知道该去哪里引导操作系统,进而导致系统无法启动。


在分区工作完成之后,我们需要给各个分区进行格式化操作,以此创建文件系统,以便进行之后的文件管理等等操作。(请记得,文件的组织形式是文件系统,关于文件系统的解释请看上文)
我们用mkfs.ext4 /dev/sda1命令把sda(主硬盘)的1分区格式化成ext4文件系统
之后,我们把格式化好的分区挂载(mount)到系统安装点上。
这里需要重点解释,首先,先说一下挂载的概念:
挂载是指先对分区或硬盘等存储设备的文件系统进行识别(在此例中为ext4),之后加载文件系统的驱动,使得操作系统具备对目标分区的文件系统具有读写能力(即使操作系统能够找到分区内的文件,如果没有这个驱动,操作系统不识别文件系统,是不可能发现其中的文件的),最后再由操作系统把文件系统驱动读取的结果反馈给用户的过程。
在Windows中,就是把硬盘上的一个分区变成D盘的过程,在Linux上,我们使用mount命令:
mount /dev/sda1 /mnt来把我们想要的分区挂载到/mnt目录下,使得它对我们可读、可写。
安装系统需要很多步骤,但不是本文的写作目的,在此不予介绍。


最后,在系统安装完毕后,我们还需要一个bootloader,从名字就可以看出,它的作用是帮助引导操作系统的,实际上,由于操作系统的内核过大等等问题,通常(现在已经有主板固件直接执行内核的技术),主板固件直接读取并执行的是bootloaderbootloader具备识别操作系统内核的能力,并且执行操作系统内核,最终启动操作系统。
关于具体的技术细节在此不做讨论。


按理说这里就已经写完了,但是如果你真的有看懂上面这些文章的话,请试着来回答这个问题:
在安装Archlinux的过程中,需要执行一条genfstab -U -p /mnt >> /mnt/etc/fstab命令。
这条命令会生成一个叫fstab的文件,已知:

  • 执行这条命令的时候要求挂载好所有新系统要用的分区。
  • 生成的fstab文件包括的内容形如:/dev/sda1 / ext4 0 0 ...

请问:你认为fstab的作用是什么

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 197,737评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,103评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 144,710评论 0 326
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,909评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,794评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,557评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,939评论 3 388
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,572评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,852评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,871评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,692评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,490评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,939评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,114评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,409评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,971评论 2 343
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,176评论 2 339

推荐阅读更多精彩内容