分享
 
 
 

如何在移动驱动器上安装Linux

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

获得外置驱动器是一种为较老设备注入生机的极好方法,或者允许您在不能(或不想)改变内置硬盘驱动器的机器上运行Linux。假设您想在双引导系统中使用Linux,但计算机硬盘驱动器中没有任何可用空间。一个解决方案就是使用“活动的”Linux发行版,如Knoppix,它可以直接从CD运行。如果是偶尔使用,这种方法确实可行,但是它有许多严重的缺点:

您仍需要一些数据文件的永久存储。如果仅使用非常小的文件,可以使用软盘;对于中等大小的文件,USB闪存盘可能就足够了,但是它们都不是理想的方法。

当使用“活动的”CD时,要安装自己的应用程序或定制现有应用程序会非常困难,甚至不可能。

使用活动发行版会降低性能,最显著的就是当启动检测所有设备时-但运行时也会降低性能(因为所有东西都必须从CD加载,这通常要比从硬盘驱动器加载慢得多)。

自然,还有其他选择。例如,可以买其他内置驱动器并在其中安装Linux。但常见的情况是,机器中可能没有任何可用的驱动器托架(笔记本电脑更是如此,它通常仅允许一个内置硬盘驱动器)。

或者,您可以使用更大的驱动器替代当前的驱动器,并在由此得到的额外空间中安装Linux。不过,这是一个花费时间的选择,因为它需要您在新的驱动器上重新安装现有OS系统,重新安装和重新配置所有应用程序及还原所有数据。

一种更好的解决方案是购买外置硬盘驱动器,并在其中安装Linux。这使您可以不更改现有硬件和软件,仅在想使用Linux的时候连接外置驱动器即可。

可移动驱动器选项

可在其中安装Linux的移动设备的范围包括从软盘驱动器到USB闪存设备,再到USB/FireWire硬盘驱动器等等。

虽然的确可能将Linux安装在小容量的设备中,如1.44MB软盘或32MB USB盘,但这些通常(必然)都是专门的经过缩减的发行版,例如,用于拯救损坏的安装。

不过,外置硬盘驱动器以合理的成本为通用的Linux发行版提供最多的灵活性。

外置驱动器来自许多不同的制造商(Maxtor、Western Digital 等等),可以有各种不同的大小。这些驱动器都包含一个外置盒,放置标准3-1/2英寸或2-1/2英寸IDE驱动器。这些驱动器通常都通过USB或IEEE1394(FireWire)连接到计算机上。

USB有两个主要版本,1.1和2.0。版本1.1最大传输速度为12Mbit/s(兆比特/秒),而版本2.0支持最高达480Mbit/s的传输速度。虽然大多数兼容2.0的驱动器都可向后兼容1.1,但是一般最好避免使用1.1,除非别无选择(因为它的速度比较慢)。

FireWire标准还定义了许多不同的可能速度,但是实际上,无论何时人们说到FireWire,他们都是指“FireWire400”,它支持最高达400Mbit/s的传输。

从速度来看,在USB 2.0和FireWire之间没什么可选择的:虽然USB 2.0报出的速度较高,实际上因为协议不同,它们都是差不多的。如果您的计算机两者都有,或许使用USB更好,而不是FireWire(后面我会讲明原因),但是如果仅有FireWire,则当然只能选择FireWire。为了获得最大的灵活性,从大量支持USB 2.0和FireWire的驱动器中选择一个(比如,我在本文稍后使用的驱动器)。

对于没有所需端口、PCI(对于台式电脑)和PCMCIA(对于笔记本电脑)的计算机,可以很便宜地买到FireWire和USB 2.0卡:例如,我在本文后面使用的PCMCIA FireWire卡大概是用10GBP(不到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卡都比较便宜(分别是50GBP和10GBP)。

出于测试目的,我将盘盒与我准备的13GB 3-1/2英寸IDE驱动器连接-在实际使用时,我会购买更大容量的驱动器,这些驱动器现在也非常便宜(大约每GB 50GBP!)

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),执行进一步的可定制初始化,然后安装根文件系统并继续进行初始化(通常也是通过调用/sbin/init)这两种方法都有自己的优点和缺点。

一阶段引导

为了使用一阶段引导,我们需要构建内核,其具有安装内置根文件系统所需的所有驱动

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有