8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

磁盘启动原理

PC在启动的时候是从执行ROM当中的代码开始的。这些代码常根据机器的不同而分布在不同的位置。PC上这种初始化代码称为BIOS(基本输入输出系统)。在PC里有几种不同的BIOS固件。如主板BIOS,显示卡BIOS,以及网卡BIOS.

BIOS通常让用户选择从哪一个设备引导。一旦确定引导设备,BIOS就加载在该设备开头的512字节的信息。这个512字节的段称为MBR.MBR中包含一个程序,它可以执行中决定从哪个位置(哪个分区)加载boot loader(也就是引导程序)。

实际上在一个磁盘设备上从0x0000到0x01bd这446字节为MBR代码,从0x01be到0x1fd这64字节包含有4组分区表信息DPT.在0x01be处的值为引导标志,值为80代表活动分区。而MBR中的0x01fe到0x01ff为结束标志,内容总是0x55aa.

每一个引导程序要求使用的MBR是不相同的,但其中分区位置对于每一个MBR都是相同的,一般来说,在为一个设备安装上引导程序的时候,仅覆盖前446字节中的一部分。

MBR成功执行后一般会进入到第2到第63扇区执行额外的启动代码,进一步创建引导程序环境。对于GRUB来说,boot.img里的内容被复制到MBR中,负责把第二扇区加载到内存中的0x8000位置并执行(称为diskboot.img)。而第二diskboot.img的功能则是加载GRUB的启动映象kernel.img.(kernel.img从第二扇区开始,到第63扇区结束)。

最终当然还是要进入具体的某个分区。因此在启动器中分区实际上是从某个扇区之后开始的。根据MBR中的信息可以确定每个分区的开始位置,因此理论上当然能够通过前63扇区把分区开始处的代码加载到内存并执行。

在某分区上的引导程序具有读取分区文件系统的能力,因而可以像一个操作系统那样使用特定的配置文件或者加载特定的配置。一般来说,引导程序的相关模块都位于该分区的boot目录下。实际上我们是通过引导程序定位我们需要启动的内核,以及启动时向内核传递的参数。

SYSLINUX创建可引导设备

首先应下载并解压SYSLINUX软件。之后的步骤先以linux为例。

进入到SYSLINUX的软件目录,然后执行$SYSLINUX$/linux/syslinux -i /dev/sdXn

这表示把syslinux安装到一个设备的特定分区当中。当然我们可以查SYSLINUX手册以向syslinux程序传递在该分区的安装目录。

之后我们需要将SYSLINUX的MBR映象写到设备的MBR当中,并将SYLINUX所安装的分区设置为活动分区:dd conv=notrunc bs=440 count=1 if=mbr.bin of=/dev/sdX

parted /dev/sdX set 1 boot on

最后就是把内核映象复制到sdXn分区的适当位置,通过syslinux.cfg文件将内核映象的启动信息告知SYSLINUX引导程序。就等着在启动时SYSLINUX搜索syslinux.cfg文件了。

在WINDOWS下所做的工作与linux下实际没有什么不同。只不过在WINDOWS下面分区是通过盘符指定的。$SYSLINUX$/win32/syslinux.exe --mbr -a X:

然后直接复制内核映象,创建内核启动配置参数。

如果使用EXTLINUX,则命令更为简单一些。先把它安装到特定目录下,EXTLINUX会在分区的引导扇区写上引导信息,然后在该设备的MBR上写入SYSLINUX的MBR引导程序。

SYSLINUX系列引导程序

SYSLINUX系列的引导程序有SYSLINUX, ISOLINUX, PXELINUX与EXTLINUX. 其中的SYSLINUX只能安装在FAT或者FAT32分区下,ISOLINUX只能安装在ISO 9660/EI分区下,EXTLINUX只能安装在ext2/ext3/ext4/btrfs分区下,PXELINUX则是用于从网络位置启动内核。

相比于从本地磁盘启动,PXELINUX要麻烦一些,不仅需要TFTP,还需要DHCP等服务。更何况还需要特定的硬件支持。

刚才介绍了使用syslinux创建可启动分区的方法,extlinux与此类似。一般来说我们如果设置一个空白磁盘为可启动设备,首先要使用分区工具,然后使用格式化工具产生一个适合引导程序扩展功能的分区文件系统。为了更好地了解引导程序。我们借助于linux强大的设备虚拟能力介绍引导程序的安装与使用。

创建磁盘映象

首先创建一定大小的空白文件:dd if=/dev/zero of=hdd.img bs=1M count=100

然后将这个空白文件虚拟成一个设备insmod loop.o

losetup /dev/loop0 hdd.img

在使用losetup命令的时候,好像连root权限都不需要。

挂载这个设备后使用fdisk工具分区。进入fdisk的专家模式,使用p查看分区开始的位置(在start列下面)。计算出偏移值为Start*512bytes.实际上应当乘以sector size这一个参数,在主界面下使用p命令可以看出其大小。通常为512字节。

然后缷载该设备,重新从偏移位置挂载设备,这次挂载的就是刚才对应的分区了。

如何创建一个可引导光盘映象

使用ISOLINUX工具。除此之外还需要mkisofs工具。

首先创建一个 CD_root 目录,把所需文件都拷贝进去。然后创建isolinux子目录。将SYSLINUX软件包里的isolinux.bin以及相应的模块,配置文件都拷贝进去。

之后在 CD_root 下面创建所需的内核与软盘映象,之后使用以下命令创建光盘:mkisofs -o bootable.iso -b isolinux/isolinux.bin -c isolinux/boot.cat

-no-emul-boot -boot-load-size 4 -boot-info-table CD_root

其中的boot.cat是用于光盘文件系统的目录文件。

SYSLINUX配置文件的查找

启动时ISOLINUX会尝试从三个目录中查找isolinux.cfg:/boot/isolinux,/isolinux/以及./。在syslinux中有根目录和家目录的概念。根目录是所在的分区,而家目录是启动文件所在的目录。

从4.02开始,ISOLINUX的也可以以syslinux.cfg作为配置文件名。如果在当前查找目录中没有isolinux.cfg,先在当前目录查找syslinux.cfg,失败再查找下一搜索目录。

SYSLINUX与EXTLINUX的查找配置文件也是按照以上的顺序。EXTLINUX与ISOLINUX类似,在查找extlinux.conf失败后查找syslinux.cfg,然后在下一目录中查找。

SYSLINUX配置文件的格式与含义

全局选项当中:

DEFAULT [module]: 所使用的菜单系统

PROMPT [01]: 关闭选项时,仅在shift,alt,caps,scroll按下时进入SYSLINUX命令行

UI [module] [options]: 用于设置菜单模块和菜单模块参数,会覆盖PROMPT

NOESCAPE [01]: 生效时,忽略shift,alt,caps的动作

NOCOMPLETE [01]:生效时,忽略TAB动作

IMPLICIT [01]: 失效时,仅加载在label中出现的内核映象

ALLOPTIONS [01]:生效时,允许用户修改内核参数

TIMEOUT [int]: 用户没有动作的时候,菜单显示的时间(单位是1/10秒)

TOTALTIMEOUT [int]: 所有选择所花费时间加起来不超过的某个数值。

CONSOLE [01]: 是否向终端输出信息

FONT [name]: 加载一个.psf字体文件,如果其中有unicode字符字体将被忽略。影响除版权所有这一行文字外的所有文字(因为后者是ldlinux.sys产生的)。

KBDMAP [keymap]:加载一个简单的键盘布局

SAY [message]: 在加载指定内核时在屏幕上显示的提示信息

DISPLAY [filename]: 在启动的时候显示指定文件里的内容

F[1-12] [filename]: 指定按次序要显示的文件,当功能键被按下时才显示

创建一个标签:label

menu label

[

kernel ...

append ...

...

标签选项当中:

ONERROR [cmd]: 当内核启动失败时执行的命令,实际上还是传给APPEND.

KERNEL [executabe]: 使用该菜单项后所执行的SYSLINUX模块,内核映象,以及其它的自举程序。

LINUX [image]: 效果等同于KERNEL选择,不过专门用于启动linux映象。

APPEND [options]: 该选项指定了向KERNEL中所示程序传递的参数。

INITRD [files]: 该选项指定linux内核启动时所需的initrd文件,等同于在APPEND中添加initrd=[files]选项。

linux 启动服务 sys,从磁盘启动的过程与SYSLINUX相关推荐

  1. 网页游戏服务器安装包,网页游戏[窝窝世界]一键启动服务端+全套组件+启动教程+GM工具...

    网页游戏[窝窝世界]一键启动服务端+全套组件+启动教程+GM工具 资源说明: 1.本资源默认单机架设,无需修改IP直接按照教程架设即可. 2.窝窝世界是一个以魔兽世界背景为题材的在线回合制网页游戏. ...

  2. mysql5启动错误1067_win7 64位 mysql5.5启动服务报错无法启动,错误1067

    前几天还好好的,今天启动就报错. 启动服务报错:windows无法启动mysql4服务(位于本地计算机上) 错误1067:进程意外终止. 查看了一下错误日志,如下: 170319 23:10:52 [ ...

  3. 启动服务_用控制台启动一个wcf服务

    快速阅读 如何用控制台启动一个wcf服务,已经wcf的配置和在类库中如何实现 . wcf类库 用vs新建一个类库,引用system.ServiceModel 定义接口实现服务契约和操作契约 [Serv ...

  4. 计算机启动显示安装程序正在启动服务,安装程序正在启动服务需要多久

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 安装程序正在启动服务需要多久,这个主要看软件大小,安装完成就会自动运行的,要是系统不断的提示,这个就不一定了,时间可能会很久的,需 ...

  5. 手游服务器ip 修改密码,手游无双小师妹一键启动服务端+配套客户端+启动教程+IP修改说明等...

    内容介绍 资源说明: 1.本资源默认IP为192.168.1.116 2.如本机为此IP则可按照启动教程直接启动服务端. 3.如本机IP为非此IP,请自行修改本机IP为192.168.1.116或参考 ...

  6. android 快速启动服务,Android应用快速启动设计

    Android启动过程 Anroid应用启动在应用层主要分为如下几个阶段:Application初始化,Activity初始化,Service初始化,视图Tranversal 从快速启动的角度来看,应 ...

  7. Linux mysql服务(重启,启动,停止)

    1.查看mysql版本 select version(); 2.Mysql启动.停止.重启常用命令 a.启动方式 1.使用 service 启动: [root@localhost /]# servic ...

  8. 服务器安装数据库显示启动服务,安装数据库没有启动服务器服务

    安装数据库没有启动服务器服务 内容精选 换一换 本指南以审计ECS的自建数据库为例,指导您快速购买数据安全审计实例,并使用数据库安全审计查看数据库审计结果. 规划数据服务器与集群处于同一内网,数据服务 ...

  9. 错误1920(fontcache未能启动服务)后手动启动遇到错误1079的解决方法

    装office遇到1920,按网上方法手动启动Windows Font Cache Service时出现错误1079 按一般1079的解决方式完全没用,试了半天发现服务--Windows Font C ...

  10. linux启动设置运行级别,Linux的运行级别和设置开机启动服务的方式

    Linux的运行级别 什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找 ...

最新文章

  1. OSChina 周五乱弹 —— 我觉得相亲是耻辱
  2. ssd windows未能启动服务器,ssd安装win10无法启动你安装方法对吗?来看一下
  3. JAVA分布式篇2——Zookeeper
  4. Laravel初探——安装
  5. java知识点八:时间日期类
  6. 安装SQL2012数据库步骤
  7. APIO2010巡逻(树上带权直径)
  8. (24)VHDL实现与或非(行为描述)
  9. windows之解决VMware虚拟机经常性卡死
  10. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_02-自定义查询页面-服务端-接口开发...
  11. ThinkPHP完美实现分页和美化
  12. Django视图模板_004
  13. 阿里大数据之路:数据模型篇大总结
  14. blog11 Sent2Vec和Doc2Vec预训练模型
  15. 湖南大学大学计算机基础教程,湖南大学计算机基础试题题库及答案(26页)-原创力文档...
  16. 今日头条下拉框推广,出效果付费
  17. 怎么压缩视频到最小,什么操作简单
  18. Android编程红外编程——红外码详析
  19. multisim中轻触开关在哪_轻触开关在结构上的三大类型
  20. 如何批量修改图片后缀名

热门文章

  1. 坯子库无法一键安装插件没用_坯子插件库官方版下载_坯子插件库v2020.2官方版 - Win7旗舰版...
  2. 手机安全卫士------查询号码归属地
  3. 使用Python实现一个简单的聊天室
  4. 百度网页快照删除服务恢复运营
  5. session自动登录抽屉网(自动携带cookie)
  6. python安装reporter
  7. 手把手教你摆地摊之摆摊卖什么
  8. C语言星号塔作业,c语言星号打印矩形、三角形、菱形等图案及参考答案
  9. windows自带的文件校验工具MD5,SHA1,SHA256
  10. 论文阅读《High-Definition Map Generation Technologies For Autonomous Driving: A Review》2