Linux 系统硬件管理的基础知识(三)

运维 系统运维
本章讲述关于Linux 系统硬件管理的基础知识,由于很多朋友对这部分知识了解的不全,希望以下的对大家有所帮助。

以下主要介绍我的第一次安装Linux系统遭遇,以及怎么度过这个遭遇的,希望对大家有所帮助。不喜欢的可以略过。以下接《Linux 系统硬件管理的基础知识(二)》。

一、开篇叙述我第一次安装Linux系统和接下来的经历

开篇:按照北南兄弟的《FC4菜鸟图文版安装教程》我顺利地以本地SATA硬盘方式安装了FC4. 当时按照建议我把FC4的Linux版本GRUB程序装在了MBR(Main Boot Record主引导记录)里面。

先简单介绍一下我的遭遇:

我的机器没有安装软驱,SATA(也就是俗称串口)接口的硬盘1块,当时配机子的时候考虑到两块硬盘在价格方面比一块相当容量的硬盘要贵出一些,并且我当时也没有太长远的打算到底多大空间分给Windows多少分给Linux,所以我选择了一些Linux入门书上介绍的比较便宜的配置,就是一块硬盘安装以上的两种操作系统。像一般的那样我首先安装了windowsXP(因为windows目前好象没有义务识别linux,后装windows可能带来很多麻烦),由于我买的redhat linux9安装光盘作为引导的内核(不知能不能这样形容)不能识别SATA接口硬盘,当时的提示是:

An error has occurred - no valid devices were found on which to create new file systems.Please check your hardware for the cause of this problem.No hard drives have been found.You probably need to manually choosedevice drivers for the installation to succeed.Would you like to select drivers now?(如果你也觉得眼熟,那么我们遇到过类似的情况,如果看不懂,麻烦您查字典也好google也好自行解决)

解决的办法之一就是我从网上下载了一个FC4的安装镜像(安装盘应该有4张)如果你进的是“ftp://...Fedora/1(或2,3)/...”的话那么恳请您点“向上”按扭然后找形如Fedora/../4/..这个路径下面的文件,那几个路径下应该是FC 1,2,3的镜像。之后我按照“菜鸟教程”里说的那样用wingrub引导安装,之后把linux GRUB装载到MBR里面,然后启动的时候当然是linuxGRUB来调度工作了,之后我学着重编内核(加载了网卡驱动程序)然后下载安装了OpenQ插件,再后来安装完显卡驱动程序配置好后重启,问题出现了...怪我太贪心,分辨率的设置有点偏高了...之后的情况就是Linux可以照常运行,而显示器不做任何反应,从开始用户初始化配置开始显示器就显示没有输入信号.....对我来说这是噩梦的开始,我当时没有任何解决这类问题的办法(也没有刻一张rescue盘),然后就直接格式化开始重新安装一切了.....(End of 遭遇介绍)

后面我发现发言权掌握在LinuxGRUB手里对我来说比较麻烦,所以想找到一个让win GRUB支配启动的办法,再次安装FC4进行分区配置和引导程序选择加载时,我不再选择把GRUB放在MBR里,而是专门分了一个/boot区出来把MBR放进去,寄希望于引导程序自动握手然后开始工作(很天真不是吗?)当时我还选择了Force LBA32选项,然后继续,安装所有的包,提示安装成功,提示重启。然后果然Linux没有被辨认出。这时怎么办??

二、想让WinGrub来支配引导的分析和做法

这时再重装一遍然后加载GRUB吗?且慢,当时提示我已经安装成功了也,我也实在不想再来一遍了..这时要回溯到北南兄弟提供的另一篇文章了:《编译内核操作流程》引用其中这一段:

1、复制bzImage等相关文件,并创建initrd文件;

  1. [root@localhost linux-2.6.12.3]# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.12.3  
  2.  
  3. [root@localhost linux-2.6.12.3]# cp System.map /boot/System.map-2.6.12.3  
  4.  
  5. [root@localhost linux-2.6.12.3]# cd /boot  
  6.  
  7. [root@localhost linux-2.6.12.3]# /sbin/mkinitrd initrd-2.6.12.3.img 2.6.12.3  

我们把 编译出来的bzImage,拷入到/boot目录,拷贝成 vmlinuz-2.6.12.3;

并且用 mkinitrd 来创建imitrd-xxx.img 文件,其中xxx为内核的版本号,是通过 查看 /lib/modules来版本来对应的,我们是编译出

来的是 2.6.12.3,所以就运行上面的命令创建,创建的出来的是initrd-2.6.12.3.img ;不创建这个文件,有时是启动不起来的,比如提示VFS错误等;

看到了吗?我第一次编译内核的时候也就是照着这个路子来的,最重要的是vmlinuz-a.b.c和initrd-a.b.c还有System.map都在/boot路径下面。在这里做一下内核的简要介绍:linux内核用vmlinuz-a.b.c之类的名称存放在/boot目录中,所有的内核版本号采用major.minor.patch编号格式。还有一个重要的基本概念:linux的所有所谓分区啦,文件夹一类的东西都用分区来表示,其实并不难理解,我觉得就好象是第一人称视角游戏和第三人称视角游戏有些相似的地方:Windows是分得很明显地这个是整个系统的哪部分,linux的说法则是我的哪部分下面有什么什么部分组成。同时就有了mount(挂载)的介入了.即使是/boot这样看起来就很吓人的名号,在linux里的表示方法也不过就是根分区(/)下的一部分罢了。

2、wingrub的 menu.lst的写法;

其实在Windows下编辑menu.lst(引导菜单)时已经很明显了,我能够加上

title Fedora Core4 Installation

root (hd0,6)

kernel (hd0,6)/linux/vmlinuz

initrd (hd0,6)/linux/initrd.img    (我的设置是这样的Fat32格式引导安装的分区)

这样一段,难道就不可以在menu.list文件里添加诸如:

title Fedora Core (2.6.11-1.1369_FC4)

        root (hd0,7)

        kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet

        initrd /initrd-2.6.11-1.1369_FC4.img      

加注:因为我单独分了boot分区所以写成这样,如果没有单独的boot分区的话应该是下面这样

title Fedora Core (2.6.11-1.1369_FC4)_te1

        root (hd0,7)

        kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet

        initrd /boot/initrd-2.6.11-1.1369_FC4.img

这样一段来引导linux系统吗?当然,没有人给我说不可以。结果是这办法可行 =) 因为我就是这么做的。之后重编译内核后要加载内核什么的办法类似,我就不再多说什么了。

以下主要讲述在Linux系统中存储设备的两种表示方法,没事发出来,希望对一些不懂得有所帮助。懂的话就可以略过了。

请点下面《Linux 系统硬件管理的基础知识(四)》

【编辑推荐】

  1. Linux 系统硬件管理的基础知识(一)
  2. Linux 系统硬件管理的基础知识(二)
  3. Linux 系统硬件管理的基础知识(三)
  4. Linux 系统硬件管理的基础知识(四)
  5. Ubuntu Linux至少适合5种人
责任编辑:志辉 来源: Fedora
相关推荐

2010-03-17 11:05:16

Linux 硬件管理

2010-03-17 11:21:40

Linux 系统

2010-03-17 13:22:57

Linux系统

2010-03-18 15:16:37

Linux操作系统

2018-02-01 13:59:44

Linux命令磁盘管理

2009-06-16 15:01:06

JBoss管理台

2011-07-21 17:45:02

java

2023-03-21 16:55:04

Linux

2010-03-18 15:07:13

Linux操作系统

2010-03-18 14:52:05

Linux操作系统

2010-04-13 14:00:10

Unix文件

2009-10-23 18:29:02

linux Debia

2023-07-04 07:31:06

MapReduce数据处理编程模型

2010-04-13 18:24:14

Unix操作系统

2009-10-20 09:26:53

综合布线系统

2009-10-16 10:07:29

综合布线系统

2013-09-17 13:43:51

IO

2011-12-19 14:05:01

JavaIO

2021-11-05 15:31:01

UbuntuLinux
点赞
收藏

51CTO技术栈公众号