• 硬盘一般分为三种:
    • IDE 硬盘 hd(in Linux)
    • SCSI 硬盘 sd(in Linux)
    • SATA 硬盘 sd(in Linux)
  • 以 SCSI 和 SATA 接口的硬盘为例,在 Linux 系统中:
    • 第 1 块硬盘被称作 sda
    • 第 2 块硬盘被称作 sdb
    • 第 N 块硬盘被称作 sdn
  • Linux 规定:
    • 一块硬盘上只能存在 4 个 主分区,分别被命名为 sda1、sda2、sda3、sda4
    • 逻辑分区 从 5 开始标识,每多一个逻辑分区,就在末尾的分区号上加上1,逻辑分区没有个数限制。
  • 一般来说,每个系统都需要一个主分区来引导。这个分区中存放着引导整个系统所必需的程序和参数。
  • 操作系统主体可以安装在主分区,也可以安装在逻辑分区,但 引导程序 必须安装的主分区内。

Grub 程序简介

  • Linux 系统都是用 Grub 作为开机引导程序的,Grub 引导程序利用四项内容启动系统:
    • 内核文件
    • 驱动器名
    • 内核文件所在的分区
    • 初始RAM磁盘
  • Grub 有两种启动方式:
    • 直接查找并加载想要的内核(大多数Linux发行版本的启动方式)
    • 链式加载的启动方法:Grub 用这个方法去加载另一个引导程序(e.g. Windows加载器),然后这个引导程序加载想要的操作系统内核。(这样 Grub 就可以用其他操作系统的引导程序引导进入这些操作系统)
  • Grub 引导程序是可配置的,它的配置文件为 /boot/grub/grub.cfg(menu.ls in Ubuntu)
    • 从 grub.cfg 文件可知,该文件以 /etc/default/grub 文件作为配置。
        # /etc/default/grub
        GRUB_TIMEOUT_STYLE=hidden    # 隐藏 Grub 的引导界面(注释此句显示Grub界面)
        GRUB_DEFAULT=saved        # 为引导列表的默认选项序号(begin with 0)
        GRUB_TIMEOUT=10        # 为引导列表自动选择超时时间(即引导列表停留时间,为0则不停留)
    • 修改 /etc/default/grub 后需要执行 update-grub 命令以更新 grub.cfg 文件。
  • 修复 Grub 引导程序
    1. 用Linux安装盘启动计算机;
    2. 选择 Rescue System(救援系统);(在这个模式下,用户可以在不提供密码的情况下以 root 身份登录系统)
    3. 输入以下命令:
       grub            # 启动安装盘上的 Grub 程序
       find /boot/grub/stage1    # 查找硬盘上的 Linux 系统将 /boot 目录存放在哪个硬盘分区中(Grub 在安装时需要读取其中相关的配置文件)
       root (hdX,Y)        # 指示 Linux 内核文件所在的硬盘分区(即/boot目录所在的分区),将此处的X、Y替换为上一行查找到的那个分区。(Note!X、Y所在的括号中不能有空格)
       setup (hd0)        # 在第一块硬盘上安装引导程序 Grub
       quit            # 推出 Grub 程序
    4. 重启计算机。
  • Grub 对磁盘的分区表示和 Linux 有所不同:
    • Grub 并不区分 IDE、SCSI、SATA 硬盘,所有硬盘都被表示为“(hd#)”的形式。(其中 ‘#’ 代表一个从 0 开始编号的数字。.e.g hd1、hd2...hdN)
    • 对于任意一块硬盘(hd#),它的四个主分区依次表示为(hd#,0)、(hd#,1)、(hd#,2)、(hd#,3);从(hd#,4)开始则是逻辑分区。

Linux 系统桌面环境

  • X-Window 桌面,基于 X 系统;X 系统基于一种独特的服务器/客户机架构。
    • X 服务器, 用于实际控制输入设备&位图式输出设备。定义了给X客户机使用这些设备的抽象接口,而没有定义高级实体的编程接口。(能够做到最大程度上和平台无关)
    • X 客户端程序,需要向X服务器请求服务的程序。(e.g. LibreOffice、gedit)
    • 窗口管理器(Window Manager), 负责控制应用程序窗口的各种行为(e.g. 移动、缩放等),是一种独特的X客户端程序,因为这些功能也都是通过向X服务器发送指实现的。(e.g. Window Maker、FVWM、LceWM、Sawfish)
    • 显示管理器(Display Manager), 提供了一个登录界面,其任务就是验证用户的身份,让用户登录到系统。
    • widget 库, 定义了一套图形用户界面的编程接口,通过调用 widget库 来实现具体的用户界面。(把人类易于理解的描述翻译成X服务器能够理解的表达方式)
    • 桌面环境, 以 KDE 和 Gnome 为代表的Linux桌面环境,是把各种与X有关的东西(除了X服务器)整合到一起。(最终处理图形输出的仍然是X服务器)
      • Gnome 桌面,基于GTK+widget库,用C语言写成,是为了对抗 KDE 而诞生的。Gnome应用程序大多带着一个字母G(e.g. GIMP、gftp)
      • KDE 桌面(K Desktop Environment),基于QT库,用C++编写,使用习惯上同Windows比较接近。为KDE编写的应用程序总是带着一个字母K(e.g. Konqueror、Konsole)

纯文本网页浏览器:Lynx

  • 通过方向控制光标移动。
  • Lynx 会逐个加亮超链接文本,在文本高亮显示时按下Enter键可以转到对应的网页。
  • 在文本框中可以直接输入文本,使用方向键结束输入。
  • 空格键可以快速向下滚动屏幕。
  • 所有的图片都被显示为一个个文件名。
  • 使用 '/' 命令可以打开命令行查找网页中的字符串。Lynx会自动定位到查找到的字符串并高亮显示
  • 移动光标使链接高亮显示,按下 ‘d’ 键指示Lynx下载该链接所对应的文件。
  • q 退出Lynx