具体:http://www.verydemo.com/demo_c167_i104894.html


  获得外置驱动器是一种为较老设备注入生机的极好方法,或者允许您在不能(或不想)改变内置硬盘驱动器的机器上运行 Linux。
  
  假设您想在双引导系统中使用 Linux,但计算机硬盘驱动器中没有任何可用空间。一个解决方案就是使用“活动的”Linux 发行版,如 Knoppix,它可以直接从 CD 运行。如果是偶尔使用,这种方法确实可行,但是它有许多严重的缺点:
  
  - 您仍需要一些数据文件的永久存储。如果仅使用非常小的文件,可以使用软盘;对于中等大小的文件,USB 闪存盘可能就足够了,但是它们都不是理想的方法。
  
  - 当使用“活动的”CD 时,要安装自己的应用程序或定制现有应用程序会非常困难,甚至不可能。
  
  - 使用活动发行版会降低性能,最显著的就是当启动检测所有设备时 ―― 但运行时也会降低性能(因为所有东西都必须从 CD 加载,这通常要比从硬盘驱动器加载慢得多)。
  
  自然,还有其他选择。例如,可以买其他内置驱动器并在其中安装 Linux。但常见的情况是,机器中可能没有任何可用的驱动器托架(笔记本电脑更是如此,它通常仅允许一个内置硬盘驱动器)。
  
  或者,您可以使用更大的驱动器替代当前的驱动器,并在由此得到的额外空间中安装 Linux。不过,这是一个花费时间的选择,因为它需要您在新的驱动器上重新安装现有 OS 系统,重新安装和重新配置所有应用程序及还原所有数据。
  
  一种更好的解决方案是购买外置硬盘驱动器,并在其中安装 Linux。这使您可以不更改现有硬件和软件,仅在想使用 Linux 的时候连接外置驱动器即可。
  
  可移动驱动器选项
  可在其中安装 Linux 的移动设备的范围包括从软盘驱动器到 USB 闪存设备,再到 USB/FireWire 硬盘驱动器等等。
  
  虽然的确可能将 Linux 安装在小容量的设备中,如 1.44 MB 软盘或 32 MB USB 盘,但这些通常(必然)都是专门的经过缩减的发行版,例如,用于拯救损坏的安装。
  
  不过,外置硬盘驱动器以合理的成本为通用的 Linux 发行版提供最多的灵活性。
  
  外置驱动器来自许多不同的制造商(Maxtor、Western Digital 等等),可以有各种不同的大小。这些驱动器都包含一个外置盒,放置标准 3-1/2 英寸或 2-1/2 英寸 IDE 驱动器。这些驱动器通常都通过 USB 或 IEEE1394(FireWire)连接到计算机上。
  
  USB 有两个主要版本,1.1 和 2.0。版本 1.1 最大传输速度为 12 Mbit/s(兆比特/秒),而版本 2.0 支持最高达 480 Mbit/s 的传输速度。虽然大多数兼容 2.0 的驱动器都可向后兼容 1.1,但是一般最好避免使用 1.1,除非别无选择(因为它的速度比较慢)。
  
  FireWire 标准还定义了许多不同的可能速度,但是实际上,无论何时人们说到 FireWire,他们都是指“FireWire400”,它支持最高达 400 Mbit/s 的传输。
  
  从速度来看,在 USB 2.0 和 FireWire 之间没什么可选择的:虽然 USB 2.0 报出的速度较高,实际上因为协议不同,它们都是差不多的。如果您的计算机两者都有,或许使用 USB 更好,而不是 FireWire(后面我会讲明原因),但是如果仅有 FireWire,则当然只能选择 FireWire。为了获得最大的灵活性,从大量支持 USB 2.0 和 FireWire 的驱动器中选择一个(比如,我在本文稍后使用的驱动器)。
  
  对于没有所需端口、PCI(对于台式电脑)和 PCMCIA(对于笔记本电脑)的计算机,可以很便宜地买到 FireWire 和 USB 2.0 卡:例如,我在本文后面使用的 PCMCIA FireWire 卡大概是用 10 GBP(不到 20 美元)买到的。
  
  为了完成本文,我购买了 5-1/4 英寸外置驱动器盒。这是非常灵活的盘盒,它不与任何驱动器一起提供,可以装入任何标准 IDE 设备,包括 3-1/2 英寸硬盘驱动器和 5-1/4 英寸 IDE 设备,如 CD-RW/DVD-RW 驱动器。该盘盒具有 USB 2.0 和 FireWire 连接。
  
  为了将盘盒连接到我的 IBM Thinkpad T30 笔记本电脑,我还购买了 PCMCIA FireWire 卡(内置 USB 端口仅支持 USB 1.1)。
  
  盘盒和 FireWire 卡都比较便宜(分别是 50 GBP 和 10 GBP)。
  
  出于测试目的,我将盘盒与我准备的 13GB 3-1/2 英寸 IDE 驱动器连接 ―― 在实际使用时,我会购买更大容量的驱动器,这些驱动器现在也非常便宜(大约每 GB 50 GBP!)
  
  Linux 支持
  正如您可能期望的那样,Linux 对这些盘盒的支持确实很好。任何遵守“大容量存储设备”的 SBP(Serial Bus Protocol)标准的设备可以很容易地与 Linux 一起使用。
  
  一般来说,要启用对这些设备的支持,内核需要支持许多内容(直接编译或通过模块)。
  
  对于 USB 和 FireWire,SBP 设备支持都通过 SCSI 仿真实现 ―― 即,设备显示给 Linux 就好像它们是 SCSI 磁盘一样。这是在 Linux 中抽象存储设备的一种通用方法(例如,IDE CD/DVD 驱动器也通常使用 SCSI 仿真连接)。因此,需要下列内核支持:
  - SCSI 支持
  - SCSI 仿真
  - SCSI 磁盘支持
  
  另外,根据连接方法,还会需要下列支持:
  - 对于 FireWire:
  - IEEE1394 支持
  - OHCI1394 支持
  - RAW1394 支持
  - SBP-2 支持
  - 对于 USB:
  - (主机端)USB 支持
  - OHCI 支持
  - UHCI 支持
  - USB 大容量存储支持
  
  显然,您必须完全正常支持其他硬件(显卡等等),根据您实际的硬件情况,可能还需要一些其他模块。
  
  例如,我使用 PCMCIA (cardbus) FireWire 卡,所以需要添加:
  - PCMCIA 支持
  - cardbus 支持
  
  安装
  现在我们有了外置设备,将开始在其中安装 Linux。
  
  现在安装 Linux 的最容易的方法(当然是我的观点)是连接所有硬件(在这里,包含插入 PCMCIA FireWire 卡、将 FireWire 线缆连到 PCMCIA 卡和驱动器上、打开驱动器的电源开关);然后使用您选择的发行版的安装 CD 来引导计算机。
  
  我选择的发行版是 Gentoo(请参阅参考资料获得相关链接),所以我使用最新的“Universal” x86 Live CD (2004.1)。其他发行版所需的步骤应该会比这里讲述的步骤多或者少。
  
  一旦已经使用安装 CD 引导,如果幸运的话,它应该已经识别了您的驱动器。驱动器应该显示为 /dev/sdX 下的磁盘,其中 X 是从“a”开始的小写字母。在我的系统中,外置驱动器被检测为 /dev/sda,但是如果您有其他 SCSI 磁盘(模拟的 SCSI 磁盘),这将发生变化;在那种情况下,它可能是 /dev/sdb 或其他字母。如果驱动器没有被自动检测,可能需要进一步的步骤 ―― 例如,您可能必须通过引导选项来启用 FireWire 或 PCMCIA,或者可能必须手工加载一些内核模块或类似的其他项(请参阅参考资料获得故障排除指南的链接)。
  
  一旦驱动器已经被识别,就考虑安装的其余部分而言,它应该确实像内置硬盘驱动器一样运转;所以您应该可以根据需要对其进行分区和像平常一样安装 Linux。
  
  不过,提醒一句:当决定安装引导加载程序(通常是 GRUB 或 LILO)的位置时一定要小心 ―― 我建议不要将其安装在 Master Boot Record (MBR)(通常默认就是这样)中。而是应该安装在外置驱动器的根分区(或引导分区,如果使用单独的引导加载程序)中。
  
  现在我们已经在设备中安装了 Linux,接着要引导 Linux。从这里可以开始有一些技巧。
  
  引导
  在讨论引导新的驱动器之前,需要了解一些引导加载程序理论。
  
  引导加载程序通常安装在计算机第一个硬盘的 MBR 中。调用引导加载程序时(BIOS 自动执行 MBR 中的代码),它通常显示可以引导的 OS 的菜单。选择一个给定 OS 引导
  
  关于此场景应该注意两点:
  - OS 选择菜单(通常)从磁盘加载。
  - 要引导相关 OS,引导加载程序需要从磁盘读取相关内核。
  
  由于以上操作在加载 OS 之前发生,它意味着所有磁盘读取都必须通过 BIOS 调用的方式发生。这会涉及严重的问题:即为了直接引导磁盘,您的 BIOS 必须支持通过 FireWire 或 USB 连接的磁盘。这通常可以看作从这些类型的磁盘引导的一个 BIOS 选项。实际上 FireWire BIOS 支持当前很少见,但 USB 支持正在变得相当普遍。因此,如果您在相对较新的计算机中使用 USB,应该可以直接在 Linux 中引导驱动器。
  
  在外置驱动器的 MBR 中安装了 GRUB 之后,当通过 USB 连接时,我可以直接引导该驱动器。当引导连接的磁盘时很简单地进入了 BIOS 设置程序。外置磁盘将显示为普通的硬盘驱动器:移动该磁盘使它在引导顺序中位于内置驱动器之前。
  
  我也可以在内置驱动器的 MBR 中安装引导加载程序,并使用它引导 USB 驱动器(这时它在 GRUB 中显示为 hd1 in GRUB)。如果您使用 FireWire,有可能 BIOS 不能直接引导驱动器,将需要一些其他操作。
  
  幸运地是,因为 Linux 的灵活性,如果您不能直接引导(使用 PCMCIA FireWire 卡,我的情况肯定是这样!),会有相当简单的解决方案。可以从支持的设备(如软盘驱动器、CD、USB key 或主驱动器上的微小分区)执行初始引导步骤,然后使用外置驱动器进行其他操作。
  
  构建引导映像
  可以使用两种方法引导
  ? 一阶段引导
  内核引导、安装根文件系统,并通过调用初始化脚本(通常是 /sbin/init)继续进行初始化。
  ? 两阶段(initrd)引导
  内核引导、安装初始 ram 磁盘(initrd),执行进一步的可定制初始化,然后安装根文件系统并继续

可以吗?从 FireWire 设备引导 Linux相关推荐

  1. etcher制作mac启动盘_如何在Mac上创建和引导Linux USB驱动器

    长期以来,Linux一直是可引导闪存驱动器的代名词,无论是要解决您的主操作系统中的某种问题,还是尝试各种发行版. 如何在Mac上创建和引导Linux USB驱动器​www.macz.com 有几种方法 ...

  2. uboot 引导linux内核 参数mem=size,Uncompressing Linux..... done, booting the kernel.

    内核启动卡在Uncompressing Linux..... done, booting the kernel.这好像是个老生常谈的问题了.成因在网上也罗列了很多种,可这次我碰到的,却没百度出解决方法 ...

  3. win7多重引导 linux,如何在Linux和Windows下制作多重引导USB?

    [51CTO.com快译]你想不想制作一个多重引导USB?你想在用来安装或者恢复其他系统的USB驱动器上有多个操作系统吗?你想从USB驱动器引导并使用多个操作系统吗?本文都能满足你的要求.不妨看一看这 ...

  4. linux双系统启动引导,linux windows 双系统并存与启动引导

    发现网站这类文章不好找 找到的分析也不太详细     小弟不才今天就写这么一个文章 PS: 文章是否保留出处属于个人意愿 本人不喜欢强制要求 一般安装WINDOWS 和 LINUX 并存的有两种方式 ...

  5. 用win引导linux系统,用WinGrub 引导Linux

    用WinGrub 引导Linux 发布时间:2005-12-18 10:10:33来源:红联作者:cha 转载 一.开篇叙述我第一次安装Linux和接下来的经历(遭遇) 开篇:按照北南兄弟的<F ...

  6. 用WinGrub 引导Linux 简述

    一.开篇叙述我第一次安装Linux和接下来的经历(遭遇) 开篇:按照北南兄弟的<FC4菜鸟图文版安装教程>我顺利地以本地SATA硬盘方式安装了FC4. 当时按照建议我把FC4的Linux版 ...

  7. 在BeagleBoard-xM上引导Linux

    BeagleBoard-xM简介 BeagleBoard是一个袖珍型参考板,其中包含德州仪器开放式多媒体应用平台(OMAP)3片上系统(SoC)处理器,其中包括ARM Cortex-A8内核,德州仪器 ...

  8. linux内核 设备列表,Linux 设备树(Device Tree)(转载)

    ARM Device Tree起源 Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称 "this whole ARM thing is a f*cking ...

  9. linux 打开设备 流程,Linux系统启动流程

    1.linux系统启动流程 1.加载BIOS的硬件信息,获取第一个启动设备 Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分.负责完成对CPU.主板.内存.硬盘子系统.显示 ...

最新文章

  1. c 运行js脚本语言,Javascript脚本语言
  2. 新一代来袭︱不只是舒适,简直是享受,Google公司用的腰靠,到底有什么秘密?...
  3. jboss数据源配置
  4. Linux 修复严重的内核代码执行漏洞
  5. 中英文对照 —— 医学与医院
  6. vue json对象转数组_vue-vue-router 快速了解,多看看能扎实基础
  7. 怎么把黑白照片还原成彩色?三个方法让你一键搞定黑白照片上色
  8. oracle全量增量_数据同步:全量与增量
  9. 计算机技术与软件专业技术资格(水平)考试
  10. 配置 PO SLD步骤
  11. 计算机保持在线的几种方法,还在为智能盒子上电影软件收费烦恼?教你几个盒子上看大片的方法...
  12. CSS文字超出省略号无效
  13. 2022-2028全球与中国多功能烤箱市场现状及未来发展趋势
  14. 最近做项目所积累的一些小知识(一)
  15. Java 从lambda 表达式引用的本地变量必须是最终变量或实际上的最终变量问题解决
  16. 315道面试题【1】
  17. 操作系统基本服务和用户接口
  18. SystemUI启动,及其SystemUIService启动
  19. Python:编写缩写词,由一个短语中每个单词的第一个字母组成,均为大写。
  20. 从inpho的镶嵌线(line)到镶嵌网(polygon),并保留属性

热门文章

  1. linux添加一个nand设备,[教程]使用buildroot完全自定义自己的embedded linux系统(nand)...
  2. 中兴历年笔试题自己收藏用03
  3. pkcs5 padding和pkcs7 padding的区别
  4. Python-Django-Ajax分页功能实现
  5. 学习记录(二):MATLAB求三维矩阵梯度
  6. PTA|程序设计类实验辅助教学平台:基础编程题目集:编程题7-1
  7. 【指数Lyapunov】Lyapunov指数的MATLAB仿真
  8. 计算机单元测验2符号化,大学计算机第2讲符号化计算化自动化.ppt
  9. 关闭windows安全警报_关闭 Windows 10 系统中自带 Defender 防病毒软件三种方法
  10. 关于FRDM-K64F在Keil下的调试