知识大全 用好Linux的启动盘

Posted 系统

篇首语:我们越是忙越能强烈地感到我们是活着,越能意识到我们生命的存在。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用好Linux的启动盘相关的知识,希望对你有一定的参考价值。

用好Linux的启动盘  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  一 为什么需要Linux启动盘    有很多理由来说明这个问题 首先它可用于启动Linux系统 其次 当系统发生错误 需要进行系统恢复时 我们需要用到它 还有 如果你喜欢经常更新系统内核的话 那么一张启动盘则是必不可少的    希望了解Linux系统组成及启动过程的朋友 如果按照本文提供的方法做下去 相信你做完启动盘之后 你 对Linux又会有新的认识   二 启动盘的类型    启动盘一般可分为如下两种 一种是只含内核(kernel)的启动盘 这种盘只含有系统内核 并不包括根文 件系统(root file system) 它在其内核中指明了根文件系统所在的位置 在启动过程中根据该参数去安装根 文件系统 也就是说 这种类型的启动盘必须和硬盘上的根文件系统配合才能使用 我们平常意义上的启动盘一 般指的就是这种类型 有些资料上也把这种盘称之为boot盘    另外还有一种类型的启动盘除了包含内核以外 还包含了文件系统 这种类型的启动盘从某种意义上来说已 经是一个完整的操作系统 由于有自己的根文件系统 这种类型的启动盘可以在没有硬盘的机器上启动一个小的 Linux系统 这种类型的盘有时也称作boot/root盘     三 启动盘的制作    boot盘的制作    很多Linux发行套件已经提供了boot盘 一般情况是在DOS下使用RAWRITE制作一张boot盘 当然这种方法是 在安装Linux之前进行制作 如果在安装了Linux之后希望再制作系统盘 请按以下步骤进行    ( )以root的身份进行登录    ( )确定内核的位置 一般情况下内核位于/vmlinuz中 当然不同的发行套件中该位置可能会有区别 可以 查看相关的文档    ( )用rdev命令设置根设备为Linux系统的根文件系统 首先查看内核中对根文件系统的配置 执行如下命令   #rdev /vmlinuz    如果你的Linux根文件系统位于/dev/hda 那么应该有如下的信息    Root Device /dev/hda    注意 该信息随你在安装时的配置不同而结果可能不同 另外还有一点值得注意的是 该设置值可能并不正 确 例如我的系统(RedHat kernel - )上的配置值就显示如下    #rdev /boot/vmlinuz    Root Device /dev/sdc (显示为sdc 即第三SCSI硬盘 而我的机器上根本没有!)    但是这并不表明该配置有问题 因为nf中的相关配置项会覆蓋该值 详见boot/root盘中的分析    ( )如果上一步的显示信息和你的实际配置有偏差 可以执行如下命令进行修正    rdev /dev/vmlinuz /dev/hda (假设根文件系统位于/dev/hda 上)    再次执行rdev /vmliuz确保正确 否则做出来的盘是不会启动的!    ( )拿一张已格式化的软盘(Linux下用fdformat格式化) 执行下述命令    #dd if=/vmlinuz of=/def/fd bs=    至此 一张专用于引导Linux系统的boot盘就做好了 去测试一下吧!    .boot/root盘的制作    boot/root盘由两部分组成 即核心和根文件系统 要把这两部分都放到一个 MB的软盘上去 通常要对内 核和根文件系统进行压缩 压缩核心的最好方法是进行重新编译内核 将一些不必要的支持去掉 如对网络和其 它周边设备的支持 重要的一点是记住内核必须支持RAMDISK及ext 否则系统不能正常引导 关于内核的编译本 文不再阐述 下面重点介绍如何生成根文件系统的压缩包 对于根文件系统的压缩包括两方面的问题 第一是只 保留必要的根文件系统组件 第二是将根文件系统做成一个压缩包 类似于内核工作的原理    ( )根文件系统概述    一个根文件系统必须包括支持完整Linux系统的全部东西 它至少应包括以下几项    ·基本文件系统结构    ·至少含有以下目录 /dev /proc /bin /etc /lib /usr /tmp    ·最基本的应用程序 如sh ls cp mv等    ·最低限度的配置文件 如rc inittab fstab等    ·设备 /dev/hd* /dev/tty* /dev/fd    ·基本程序运行所需的库函数    以上所需文件一般情况下会超过 M 因此我们通常的做法是先准备好内容后再压缩到软盘中 当用软盘 启动时 再把文件解压到内存中 形成一个虚拟盘(RAMDISK) 通过RAMDISK控制系统启动    为了能创建以上的根文件系统 你必须有一个空闲的能够放下大约 MB文件的RAMDISK 系统缺省情况下已替 我们建好了一个大小为 KB的RAMDISK 其设备名一般为/dev/ram 我们就使用它来保存我们预先准备好的根 文件系统    创建根文件系统    Linux内核识别两种可以直接拷贝到RAMDISK的文件系统 它们是minix 和ext ext 性能更好 mke fs缺省 情况下在 M的软盘上产生 个信息节点 使用压缩格式的根文件系统需要更多的信息节点 所以使用如下命 令创建文件系统可以创建 个信息节点 而且一般不会用完    mke fs -m -i /dev/ram    mke fs将会自动判断设备容量的大小并相应地配置自身 -m 参数防止它给root保留空间 这样会腾出更 多的有用空间 接着把虚拟盘挂在节点/mnt上    mount -t ext /dev/ram /mnt/floppy    接着是创建目录 根文件系统最少应该有如下 个目录    /dev — 设备    /proc — proc 文件系统所需目录    /etc — 系统配置文件    /sbin — 重要的系统程序    /bin — 基本应用程序    /lib — 共享函数库    /mnt — 装载其他磁盘节点    /usr — 附加应用程序    执行如下命令创建这些目录    #cd /mnt/floppy    #mkdir dev proc etc sbin bin lib mnt usr    接下来的工作就是确定各个目录下的内容了    ·/dev /dev中含有系统不可缺少的设备文件 可以把现有系统中/dev的文件拷贝过来 然后删除不必要的 文件 命令cp -dpR /dev /mnt会拷贝/dev整个目录但不拷贝文件内容 dp开关保证链接文件仍然不变 不会拷 贝链接所指原文件 而且属性不变 如果你没有SCSI设备 删除所有的以sd开头的文件 如果你不想使用串口设 备 删除所有以cua开头的文件 不过记住一定要保留console kmem mem null ram tty 等文件    ·/etc 这个目录中含有一些必不可少的系统配置文件 这下面的文件比较多 那么到底哪些文件是必需 的 哪些可有可无呢?由于这下面的文件一般是一些文本文件 都不是很大 干脆全部保留算了    我的启动盘中含有不到 个配置文件 大致可分为 部分    ·rc d/* — 系统启动脚本    ·fstab — 列出要登录的文件系统    ·inittab — 包含启动过程参数    而且这些文件都是最简单的 rc应该包括    #!/bin/sh    /bin/mount -av    /bin/hostname yjy    fstab应包括    /dev/ram / ext defaults    /dev/fd / ext defaults    /proc /proc proc defaults    inittab包括    id: :initdefault:    si::sysinit:/etc/rc    : :respawn:/sbin/getty tty    : :respawn:/sbin/getty tty    ·/bin和/sbin 该目录中包含有必不可少的应用程序 如ls mv cat 你可以根据自己的需要选择 不过 一定要记住包括以下程序 init getty login mount 运行你的rc的外壳shell    ·/lib: 该目录中包含有你的启动盘启动过程中所需要的共享函数库 如果缺少必须的函数库 系统会停止 启动或出现一大堆错误信息 所以一定要注意    几乎所有的程序都需要libc库 列一下目录/lib中的libc    % ls -l /lib/libc*    -rwxr-xr-x root root Apr : libc- so*    lrwxrwxrwx root root Apr : libc so -> libc- so*    libc so 的 表示版本号 它指向的文件才是你真正需要的    查看每一个程序使用的函数库 用命令ldd 如    % ldd /sbin/mke fs    libext fs so => /lib/libext fs so ( x )    lib_err so => /lib/lib_err so ( x )    libuuid so => /lib/libuuid so ( x )    libc so => /lib/libc so ( x c )    /lib/ld-linux so => /lib/ld-linux so ( x )    输出右边的库都是必须的 有的可能是链接文件    在/lib目录下你还必须有函数库装载器 这个装载器或是ld so (对 a out 库) 或是 ld-linux so (对 ELF 库) 新版本的ldd一般会告诉你所需库的装载器    把装载器和库拷贝到/lib后 再仔细检查一遍 一定保证没有遗漏    模块    如果你有一个模块化的内核 你还得考虑需要加载的模块 它们都位于/lib/modules 你可以把不是很重要 的模块放到别的盘上 当系统启动后再加载 这样会节省启动盘的空间    打包    一旦你完成了上述工作 卸下虚拟盘 拷贝到一个文件中 然后压缩    umount /mnt    dd if=/dev/ram bs= k | gzip -v >rfs gz    压缩结束后 你就拥有了一个压缩的根文件系统 不过你得检查它的大小 如果大了 你还得删除一些东 西    .组织引导盘    有了根文件系统和内核之后 最后的工作就是把它们组织在一起    先检查总文件的大小 如果超出 MB 就得考虑重新创建所需或用两张磁盘 即使用两张磁盘 你的根文 件系统也得小于 MB    接着就是确定是用LILO控制启动还是直接用拷贝 cha138/Article/program/Oracle/201311/16681

相关参考

知识大全 Linux远程启动

Linux远程启动  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一远程启动原理    客户端在

知识大全 如何制作Red Hat Linux急救盘组

如何制作RedHatLinux急救盘组  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用急救盘

知识大全 Linux双启动环境的陷井

Linux双启动环境的陷井  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如果说Linux的安装

知识大全 mysql随Linux开机自动启动

mysql随Linux开机自动启动  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在MySQL的

知识大全 linux下Oracle自动启动与停止

linux下Oracle自动启动与停止  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!修改Oracl

知识大全 Linux下启动Oracle服务和监听程序

Linux下启动Oracle服务和监听程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  安装完

知识大全 讲解linux环境下Oracle的自动启动与停止

讲解linux环境下Oracle的自动启动与停止  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 如何在硬碟建置Linux系统之setup 启动

如何在硬碟建置Linux系统之setup启动  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  透过

知识大全 linux下oracle数据库的启动和关闭

  一启动  三个命令  sqlplux/nolog  connect/assysdba  startup  二关闭  shutdownimmediate;  [oracle@zhao~]$sqlpl

知识大全 如何在硬碟建置Linux系统之启动虚拟记忆体

如何在硬碟建置Linux系统之启动虚拟记忆体  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!