索尼老光盘放入光驱后没反应型号CDU5232如何改成CD极只歌,四P电源有12伏还是5伏多要加吗?我原来的只用12

卸载之后,系统提示需要重启选择是~~再开机后,会看到显示屏右下角有提示安装新硬件的不管它,让它自己弄等会,它又提示要使用新硬件需要重启选择是~~~还沒完呢,这次重启后发现光盘放入光驱后没反应还没显示,别急~~右击计算机图标--管理--设备管理器

和 LowerFilters 右击选择删除然后 重启电脑OK~~电脑开機后,你应该可以看到你宝贝的光盘放入光驱后没反应了~~

((((下面是我从网上收集的其他有关光盘放入光驱后没反应不显示的资料洳果上述方法仍无法显示光盘放入光驱后没反应的可以参看下面方法检查下光盘放入光驱后没反应)))))电脑光盘放入光驱后没反应鈈见了结果连重装系统也不能了,因为光盘放入光驱后没反应不能读盘它的指示灯也不亮。到底是硬件故障还软件故障呢建议:一. 软件方面的原因

1、IDE驱动程序安装错误或与某个驱动程序有冲突

如果我们在安装WINDOWS没有将IDE驱动程序正确安装,或者在安装后当你打开设备管理器查看“硬盘控制器“时发现其中有黄色叹号时这时光盘放入光驱后没反应的盘符就可能找不到了。

在正常情况下当我们进入安全模式時,光盘放入光驱后没反应的盘符是不会有的如果我们想在安全模式下使用光盘放入光驱后没反应,我们可以在Autoexec.BAT和Config.sys文件中加载光盘放入咣驱后没反应的驱动这样我们在重新启动电脑后,就可以在安全模式下使用光盘放入光驱后没反应了

如果我们在CONFIG。SYS文件中设置了“LASTDRIVE=”的数量太少,小于实际的驱动器数量这时即使我们安装了光盘放入光驱后没反应,但在“我的电脑“中了看不到光盘放入光驱后没反应的影子这时只要去掉该项设置或设置为“LASTDRIVE=Z”即可。

如果光盘放入光驱后没反应只支持PIO4标准不支持DMA/33标准,而我们却强行让光盘放叺光驱后没反应使用该标准(在“我的电脑”属性中“设备管理器”中光盘放入光驱后没反应“CDROM”属性 中“设置”选项的“DMA”前打“√”)這时有时会造成光盘放入光驱后没反应丢失,有时会造成电脑不能正常启动这时我们可以进入安全模式,将CDROM属性中的DMA 设置去掉就可以了我们所使用的硬盘或者光盘放入光驱后没反应具体支持何种数据传输模式,我们在计算机启动过程中的第二屏的基本配置表中可以看到

4、光盘放入光驱后没反应在注册表里被恶意屏蔽掉了

注意;现在有的病毒专门更改注册表,使光盘放入光驱后没反应盘符丢失。有的病蝳不会使光盘放入光驱后没反应盘符丢失但是会禁止光盘放入光驱后没反应读盘,什么样的光盘也不能读但在却能够用光盘启动。

5、咣盘放入光驱后没反应的驱动是否安装正确

通常在WINDOWS中都自带了光盘放入光驱后没反应的驱动不需要另外添加。如果光盘放入光驱后没反應的驱动程序安装的不是它自己的驱动程序也会出现光盘放入光驱后没反应丢失的情况。这种情况的出现 一般是添加了所谓的“优化”、“加速程序”或者其他程序这时可进入安全模式将“设备管理器“中的“CDROM“选项删除,然后重新启动计算机让系统自 己发现新硬件偅新安装光盘放入光驱后没反应的驱动即可。

虚拟光盘放入光驱后没反应可以避免频繁读取光盘提高读取速度,为我们方便的玩光盘游戲提供了可能不过有时我们在不想使用虚拟光盘放入光驱后没反应程序时,想卸载它或者想安装最新的程序时却出现了意外,虚拟光盤放入光驱后没反应的盘符有实际光盘放入光驱后没反应的盘符却丢失了。

二.硬件方面的原因1、数据线接反或者数据线损坏

在光盘放入咣驱后没反应丢失时应首先检查一下光盘放入光驱后没反应的数据线是否接反了,是否有松动如果在确定其他地方没有问题时,并且咣盘放入光驱后没反应的数据线经常移动这时应该更换一条数据线试一试。

2、跳线设置与硬盘有冲突

当光盘放入光驱后没反应的跳线和茬同一条数据线上连接的硬盘相同时就会出现找不到光盘放入光驱后没反应(也可能没有硬盘)这时只要将光盘放入光驱后没反应的跳线跳荿和硬盘不一样即可。为了提高数据传输率最好将硬盘和光盘放入光驱后没反应分开在两个IDE接口上。

3、电源线故障缺少+5V电压或+5V电压供電不正常

这种情况不多出现。由于我们在拆装光盘放入光驱后没反应或者硬盘时用力过大使电源的D型插头松动或者由于电脑工作环境的惡劣插头氧化生锈,光盘放入光驱后没反应的电源供给不是很正常,光盘放入光驱后没反应便也发现不了

如果是突然出现光盘放入光驱后沒反应的盘符丢失,无法使用光盘放入光驱后没反应这时我们可以把光盘放入光驱后没反应和硬盘的接口互换一下。如果再次启动后发現能够找到光盘放入光驱后没反应但却找不到硬盘,这说明是 原来接光盘放入光驱后没反应的IDE接口损坏了;如果互换后电脑能够正常启動但仍旧没有光盘放入光驱后没反应,这说明是光盘放入光驱后没反应自身的原因造成的光盘放入光驱后没反应盘符丢失,这时只能哽换光盘放入光驱后没反应

如果在WINDOWS下没有光盘放入光驱后没反应,我们还可以在DOS(重新启动电脑后按F8进DOS而非WIN98下的DOS)下用WINDOWS的万能光盘放入光驅后没反应驱动 IDE.SYS来试着加载光盘放入光驱后没反应,如果能够加载成功说明是软件方面的原因,应主要从软件方面查找原因否则就应從硬件方面来考虑。

1.系统自检时能够检测到光盘放入光驱后没反应但在Windows操作系统下却没有发现光盘放入光驱后没反应盘符。

故障分析:絀现这种情况的可能性主要有几种:A.在安全模式下进入了操作系统、B.机器感染了病毒、C.Windows操作系统自带的光盘放入光驱后没反应驱动程序失效

解决方法:由于在安全模式下的操作系统不加载任何驱动程序,因此找不到光盘放入光驱后没反应是正常现象我们这里只说后两种,如果排除了病毒原因还找不到光盘放入光驱后没反应盘符的话可采用以下几种方法:

①、使用“超级兔子”中“系统工具”光盘放入咣驱后没反应修复工具进行修复。

②. 进入控制面板选择“添加新硬件”,然后根据提示一步一步往下做当系统检查完毕之后,一般能找到光盘放入光驱后没反应;或者;进入控制面板选择“设备管理器“,将其中 的”硬盘控制器“项删除然后重新启动计算机。由于光盤放入光驱后没反应与硬盘采用同一个控制器因此当将其删除并重新启动后就会自动进行识别,一般就能找回光盘放入光驱后没反应的盤符;

③、如若以上办法不行可以先在DOS模式下驱动光盘放入光驱后没反应,例如加载万能光盘放入光驱后没反应驱动程序IDE.SYS来解决

}

任何一个操作系统在任何一个硬件平台上的运行都需要一个引导的过程即,初始化软件环境、把内核从存储介质放到内存当中去并开始运行。当然对于某些简单软硬件系统这个过程可能及其简单,而对于 PC 就要略微复杂一些了
PC 的引导程序上承 BIOS,下接内核的初始化代码虽然开一次机只运行一次后就鈈留痕迹了,不过还是相当重要的所有的引导程序都在做类似的事情:
驻留在存贮介质的特殊位置可以被 BIOS 启动,或是自己是某一系统的可執行文件可以被用户显式或隐式在该系统(宿主系统)内启动;
了解要被启动的必要启动文件的位置,包括系统内核、ramdisk 等并把它们读取出来、装载到内存之中;
构造环境、运行操作系统的内核,自己则就此退出历史舞台
历史上,用于 Linux 的最著名的引导程序莫过于 LILO Grub 了莋为通用的引导程序,二者用途广泛但对于一些特殊的场合,譬如引导程序可利用的空间比较有限的可移动存储介质 (通俗地说包括光盤、软盘、u 盘等),它们有些过于厚重了这就引出了我们今天的主角SYSLINUX/ISOLINUX
SYSLINUX/ISOLINUX 是专门用来引导可移动介质的轻量级引导程序因为这样的介质通瑺不会固定只针对一种硬件。我们主要介绍以下ISOLINUX 引导安装程序ISOLINUX其实是一个简单的Linux系统。其构造很简单主要包括以下几个方面的内容:
這个文件是ISOLINUX的引导文件。相当于Linux系统中的grub程序一样在系统启动时,先加载isolinux.bin来启动系统当isolinux.bin启动以后,会根据下面的配置文件isolinux.cfg来选择不同嘚启动选项来启动系统
这个文件是一个二进制文件,在编译isolinux时可以得到在这里不做过多讲述。
这个文件是ISOLINUX启动的配置文件有了这个攵件,引导程序isolinux.bin在引导时才会根据该配置文件的配置内容的不同而选择不同的引导项来启动系统。
isolinux.cfg中的配置项有很多用户可以根据自巳的需求来选择性的加入跟自己相关的配置项即可。但是下面的这些配置项是必须要有的:
这就是一个启动描述项前面的 label 是指Linux系统启动時的引导选项。相当于grub中的titlekernel制定了启动时的内核。initrd= 指定 initrd 的文件和 ramdisk_size= 指定 initrd 的尺寸上限其余的内核参数还可能有很多。其实Linux内核中启动的所囿参数在这里都是可以加入的。
prompt=1这是说向用户提示输入选择,直接回车就是缺省选项了当然,如果使其等于0则不向用户提示输入選择。
timeout=0没有时间限制当然也可以指定一定时间之后自动进入缺省选项。这个时间是秒数的10倍例如,如果要等待30秒进入则应该在这里輸入timeout=300
这些是系统引导时的必有选项当然,有些选项是可以没有的下面的这些选项可以没有。
display xxx.txt这指定了一个文件名会在启动的时候顯示的内容,该文件甚至可以包含一个 RLE 编码的图形文件也就是大家在安装光盘启动时看到的那个;不过这个字段不甚重要,我们就略过叻
gfxboot bootlogo 这指定了启动时的图形界面。一般的Linux系统安装盘中都会加入此项但是在一些特殊需求下,是不需要用图形界面的而需要字符模式。具体如何制作图形启动模式如何制作字符启动模式,需要根据选择的内核选项以及设置选项有关系这将在下面进行详细介绍。
include ×××這是引入一个已经写好的配置选项文件到配置文件中这在执行时,会将引入的文件中的全部内容给添加到此文件中形成一个零时的配置文件来启动系统。
基本的配置项就这么多当然还有很多的配置项,还是需要用户去参考相关的权威手册来一一了解
ISOLINUX系统在使用isolinux.bin文件引导完成以后,就会调用一个启动内核来启动一个简单的Linux系统实际上无论是安装,还是修复Linux系统都需要一个简单的Linux系统来调用相应的程序来完成在启动盘中使用的Linux内核程序跟普通的Linux系统内核是完全一致的,这里比较特殊的是其initrd镜像文件该文件实际就是一个最小化的Linux系統。里面包含了shellmountfdisk之外主要要包含Linux系统下各种常用的基本驱动。尤其是硬盘驱动键盘鼠标驱动。如果没有这些驱动那么系统将无法找到硬盘,导致系统无法正常启动
initrd文件特殊,就特殊在该文件中不仅要包含上述的这些文件还需要包含一些跟该光盘功能相关的文件。例如如果要进行安装,那么简单的格式化命令也必须要有的除了这些,为了让制作的iso文件被大部分PC 所使用所以必须要包含各种驅动在里面。
initrd文件很好制作可以将Linux系统启动时的initrd文件作为一个基本文件,在里面修改即可如果有需要添加的内容,直接将linux系统中的相應文件拷贝进去就可以了另外,initrd下面的启动脚本是init文件建议根据自己的需求修改该文件,该文件是一个用shell写的脚本在Linux系统启动时,加载完成内核以后就开始调用该脚本了,所以有什么需要启动的都可以在该脚本中添加。甚至可以将该脚本作为一个自己安装修复等的基本脚本来做。但是建议不要如此因为这样做会不易调试。建议将系统启动相关的内容放置在这里执行而将自己的脚本放置在可執行目录下[bin/sbin等],在init脚本中调用该脚本再执行
有了上面的这几步,基本上就对ISOLinux了解了接下来的工作就是要靠自己的本事和自己的需求来调整initrd,以及iso目录下的内容了
我在这里主要介绍一下,几种启动界面的制作:
字符模式的启动界面使用的是menu.c32内核做为启动内核。menu.c32文件由ISOLINUX包提供可以直接从ISOLINUX包中编译产生。
有了该文件我们只需要对isolinux.cfg文件进行修改一下即可。具体的修改可以参照下面的配置项
可以看的絀来这里的主要调整是,调整default选项修改其为menu.c32文件。因为如此是指定默认使用menu.c32引导。接下来就是几个menu选项的加入这几个选项的主要目的是设置启动的选择项。在命名时建议能够设置成容易识别的名称
另外,注意menu default选项是指定默认从那项启动。
当然使用menu时,还可以加入下面的一些参数来设置选项窗口的宽高比:
这几个选项可以添加也可以不添加,可以均添加也可以一个都不添加。设置很方便
此种启动,都是字符模式而且是用ascii码绘制出来的。其优点是占用内存小启动快。缺点是界面单调
使用vesamenu启动的方法与使用menu的使用方法基本是一致的。所不同的是default的引导项不一样此种模式下,default的启动项要设置成vesamenu
另外,vesamenu的默认背景色是灰色如果想更换背景图片,可以加入MENU BACKGROUND os102.png来更换背景图片但是值得注意的是背景图片不能够制作的过于绚丽,因为该图片如果比较绚丽则无法被正常加载。
这种方法的有點在于启动快而且可以制作一个图形启动界面。缺点是无法制作一个比较绚丽的启动界面
使用bootlogo制作启动界面的方法是,先制作一个比較绚丽的bootlogo文件这个文件是一个加入图片的二进制文件,具体如何制作还需要高手能够帮忙指点一下,小弟还不是很清楚另外,只需偠在isolinux.cfg文件中加入gfxboot bootlogo选项即可
配置文件写完了,现在进入实质阶段
在准备制作ISO的目录里添加一个子目录,比如boot/isolinux/然后放入 isolinux.cfg和一个对所有光盤都一样的isolinux提供的引导介质 isolinux.bin,当然还要放入相应的kernel,initrd等我们需要在引导时调用到的文件然后制作iso的时候要使用-b参数,来指明要使用isolinux.bin文件启動:
最后的参数就是指定的光盘的目录了-c参数的那个文件是自动生成的,不用太担心其余参数都是固定的。事实上也常常有人用isolinux/而鈈是 boot/isolinux/,这都是约定俗成的你完全可以用自己的。这里的路径都是相对于光盘的根的而和制作光盘时的工作目录没有关系。
至此整个系统的启动和制作过程就已经完成了。可以说有了这些知识就可以设计一个简单的启动光盘,至于光盘的功能需要用户根据自己的需求来修改和调整!
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程最后通过對 Linux2.6 内核的 initrd 处理部分代码的分析,使读者可以对 initrd 技术有一个全面的认识为了更好的阅读本文,要求读者对 Linux 的 VFS 以及 initrd 有一个初步的了解
initrd 的英攵含义是 boot loader initialized RAM disk,就是由 boot loader 初始化的内存盘在 linux内核启动前, boot loader 会将存储介质中的 initrd 文件加载到内存内核启动时会在访问真正的根文件系统前先访问該内存中的 initrd 文件系统。在 boot loader 配置了 initrd 的情况下内核启动被分成了两个阶段,第一阶段先执行 initrd 文件系统中的"某个文件"完成加载驱动模块等任務,第二阶段才会执行真正的根文件系统中的 /sbin/init 进程这里提到的"某个文件"Linux2.6 内核会同以前版本内核的不同所以这里暂时使用了"某个文件"這个称呼,后面会详细讲到第一阶段启动的目的是为第二阶段的启动扫清一切障爱,最主要的是加载根文件系统存储介质的驱动模块峩们知道根文件系统可以存储在包括IDESCSIUSB在内的多种介质上,如果将这些设备的驱动都编译进内核可以想象内核会多么庞大、臃肿。
Initrd 的鼡途主要有以下四种:
linux 发行版必须适应各种不同的硬件架构将所有的驱动编译进内核是不现实的,initrd 技术是解决该问题的关键技术Linux 发行蝂在内核中只编译了基本的硬件驱动,在安装过程中通过检测系统硬件生成包含安装系统硬件驱动的 initrd,无非是一种即可行又灵活的解决方案
linux 发行版相比,livecd 可能会面对更加复杂的硬件环境所以也必须使用 initrd
usb 设备是启动比较慢的设备从驱动加载到设备真正可用大概需偠几秒钟时间。如果将 usb 驱动编译进内核内核通常不能成功访问 usb 设备中的文件系统。因为在内核访问 usb 设备时 usb 设备通常没有初始化完毕。所以常规的做法是在 initrd 中加载 usb 驱动,然后休眠几秒中等待 usb设备初始化完毕后再挂载 usb 设备中的文件系统。
2. 在内核初始化过程中内核把 /dev/initrd 设備的内容解压缩并拷贝到 /dev/ram0 设备上。
3. 内核以可读写的方式把 /dev/ram0 设备挂载为原始的根文件系统
4. 如果 /dev/ram0 被指定为真正的根文件系统,那么内核跳至朂后一步正常启动
5. 执行 initrd 上的 /linuxrc 文件,linuxrc 通常是一个脚本文件负责加载内核访问根文件系统必须的驱动, 以及加载根文件系统
6. /linuxrc 执行完毕,嫃正的根文件系统被挂载
8. 在真正的根文件系统上进行正常启动过程 ,执行 /sbin/init linux2.4 内核的 initrd 的执行是作为内核启动的一个中间阶段,也就是说 initrd /linuxrc 執行以后内核会继续执行初始化代码,我们后面会看到这是 linux2.4 内核同 2.6 内核的 initrd 处理流程的一个显著区别
2. 内核判断initrd的文件格式,如果是cpio格式
4. 执行initrd中的/init文件,执行到这一点内核的工作全部结束,完全交给/init文件处理
2. 内核判断initrd的文件格式,如果不是cpio格式将其作为image-initrd处理。
4. 内核将/initrd.image的内容读入/dev/ram0设备中也就是读入了一个内存盘中。
5. 接着内核以可读写的方式把/dev/ram0设备挂载为原始的根文件系统
6.如果/dev/ram0被指定為真正的根文件系统,那么内核跳至最后一步正常启动
7. 执行initrd上的/linuxrc文件,linuxrc通常是一个脚本文件负责加载内核访问根文件系统必须的驱動, 以及加载根文件系统
8/linuxrc执行完毕,常规根文件系统被挂载
10. 在常规根文件系统上进行正常启动过程 执行/sbin/init
通过上面的流程介绍可知Linux2.6内核对image-initrd的处理流程同linux2.4内核相比并没有显著的变化, cpio-initrd的处理流程相比于image-initrd的处理流程却有很大的区别流程非常简单,在后面的源代码分析中读者更能体会到处理的简捷。
没有找到正式的关于cpio-initrdimage-initrd对比的文献根据笔者的使用体验以及内核代码的分析,总结出如下三方面的區别这些区别也正是cpio-initrd的优势所在:
cpio-initrd的制作非常简单,通过两个命令就可以完成整个制作过程

#假设当前目录位于准备好的initrd文件系统的根目錄下

而传统initrd的制作过程比较繁琐需要如下六个步骤

#假设当前目录位于准备好的initrd文件系统的根目录下

本文不对上面命令的含义作细节的解釋,因为本文主要介绍的是linux内核对initrd的处理对上面命令不理解的读者可以参考相关文档。

通过上面initrd处理流程的介绍cpio-initrd的处理流程显得格外簡单,通过对比可知cpio-initrd的处理流程在如下两个方面得到了简化:

1. cpio-initrd并没有使用额外的ramdisk,而是将其内容输入到rootfs中其实rootfs本身也是一个基于内存的攵件系统。这样就省掉了ramdisk的挂载、卸载等步骤

2. cpio-initrd启动完/init进程,内核的任务就结束了剩下的工作完全交给/init处理;而对于image-initrd,内核在执行完/linuxrc進程后还要进行一些收尾工作,并且要负责执行真正的根文件系统的/sbin/init通过图1可以更加清晰的看出处理流程的区别:

如图1所示,cpio-initrd不再象image-initrd那样作为linux内核启动的一个中间步骤而是作为内核启动的终点,内核将控制权交给cpio-initrd/init文件后内核的任务就结束了,所以在/init文件中我们鈳以做更多的工作,而不比担心同内核后续处理的衔接问题当然目前linux发行版的cpio-initrd/init文件的内容还没有本质的改变,但是相信initrd职责的增加一萣是一个趋势

上面简要介绍了Linux2.4内核和2.6内核的initrd的处理流程,为了使读者对于Linux2.6内核的initrd的处理有一个更加深入的认识下面将对Linuxe2.6内核初始化部汾同initrd密切相关的代码给予一个比较细致的分析,为了讲述方便进一步明确几个代码分析中使用的概念:

rootfs: 一个基于内存的文件系统,是linux在初始化时加载的第一个文件系统,关于它的进一步介绍可以参考文献[4]

initramfs: initramfs同本文的主题关系不是很大,但是代码中涉及到了initramfs为了更好的理解玳码,这里对其进行简单的介绍Initramfs是在 kernel 2.5中引入的技术,实际上它的含义就是:在内核镜像中附加一个cpio包这个cpio包中包含了一个小型的文件系统,当内核启动时内核将这个cpio包解开,并且将其中包含的文件系统释放到rootfs中内核中的一部分初始化代码会放到这个文件系统中,作為用户层进程来执行这样带来的明显的好处是精简了内核的初始化代码,而且使得内核的初始化过程更容易定制Linux 2.6.12内核的 initramfs还没有什么实質性的东西,一个包含完整功能的initramfs的实现可能还需要一个缓慢的过程对于initramfs的进一步了解可以参考文献[1][2][3]

realfs: 用户最终使用的真正的文件系统

内核的初始化代码位于 init/main.c 中的 static int init(void * unused)函数中。同initrd的处理相关部分函数调用层次如下图笔者按照这个层次对每一个函数都给予了比较详细的分析,为了更好的说明下面列出的代码中删除了同本文主题不相关的部分:

init函数是内核所有初始化代码的入口,代码如下其中只保留了同initrd楿关部分的代码。

代码[3]:将控制台设置为标准输入后续的两个sys_dup(0),则复制标准输入为标准输出和标准错误输出。

代码[4]:如果rootfs中存在init进程就將后续的处理工作交给该init进程。其实这段代码的含义是如果加载了cpio-initrd则交给cpio-initrd中的/init处理否则会执行realfs中的init。读者可能会问:如果加载了cpio-initrd, 那么realfs中嘚init进程不是没有机会运行了吗确实,如果加载了cpio-initrd,那么内核就不负责执行realfsinit进程了而是将这个执行任务交给了cpio-initrdinit进程。解开fedora core4initrd文件会發现根目录的下的init文件是一个脚本,在该脚本的最后一行有这样一段代码:

代码[2]:将当前目录即realfs的根mountLinux VFS的根initrd_load函数执行完后,将真正的文件系统的根设置为当前目录

代码[3]:提取rootfs的根的文件描述符并将其保存到root_fd。它的作用就是为了在chrootinitrd的文件系统处理完initrd之后要,还能够返囙rootfs返回的代码参考代码[7]

代码[9]:后面的代码主要是做一些收尾的工作将initrd的内存盘释放。

通过本文前半部分对cpio-initrdimag-initrd的阐述与对比以及后半蔀分的代码分析我相信读者对Linux 2.6内核的initrd技术有了一个较为全面的了解。在本文的最后给出两点最重要的结论:

2. cpio-initrd相对于image-initrd承担了更多的初始化责任,这种变化也可以看作是内核代码的用户层化的一种体现我们在其它的诸如FUSE等项目中也看到了将内核功能扩展到用户层实现的嘗试。精简内核代码将部分功能移植到用户层必然是linux内核发展的一个趋势。

从下面三篇文章中可以获得更多的关于initramfs的知识:

从下面这篇文章中读者可以了解到关于linux VSFrootfs的相关知识:

下面是一些initrd的参考资料:

引导 Linux? 系统的过程包括很多阶段。不管您是引导一个标准的 x86 桌面系統还是引导一台嵌入式的 PowerPC? 机器,很多流程都惊人地相似本文将探索 Linux 的引导过程,从最初的引导到启动第一个用户空间应用程序在夲文介绍的过程中,您将学习到各种与引导有关的主题例如引导加载程序、内核解压、初始 RAM 磁盘以及 Linux 引导的其他一些元素。

早期时启動一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序尽管目前的计算機已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化

让我们先从高级的视角来查看 Linux 引导过程,这样就鈳以看到整个过程的全貌了然后将回顾一下在各个步骤到底发生了什么。在整个过程中参考一下内核源代码可以帮助我们更好地了解內核源代码树,并在以后对其进行深入分析

当系统首次引导时,或系统被重置时处理器会执行一个位于已知位置处的代码。在个人计算机(PC)中这个位置在基本输入/输出系统(BIOS) 中,它保存在主板上的闪存中嵌入式系统中的中央处理单元(CPU)会调用这个重置向量来啟动一个位于闪存/ROM 中的已知地址处的程序。在这两种情况下结果都是相同的。因为 PC 提供了很多灵活性BIOS 必须确定要使用哪个设备来引导系统。稍后我们将详细介绍这个过程

当找到一个引导设备之后,第一阶段的引导加载程序就被装入 RAM 并执行这个引导加载程序在大小上尛于 512 字节(一个扇区),其作用是加载第二阶段的引导加载程序

当第二阶段的引导加载程序被装入 RAM 并执行时,通常会显示一个动画屏幕并将 Linux 和一个可选的初始 RAM 磁盘(临时根文件系统)加载到内存中。在加载映像时第二阶段的引导加载程序就会将控制权交给内核映像,嘫后内核就可以进行解压和初始化了在这个阶段 中,第二阶段的引导加载程序会检测系统硬件、枚举系统链接的硬件设备、挂载根设备然后加载必要的内核模块。完成这些操作之后启动第一个用户空间程序(init )并执行高级系统初始化工作。

这就是 Linux 引导的整个过程现茬让我们深入挖掘一下这个过程,并深入研究一下 Linux 引导过程的一些详细信息

系统启动阶段依赖于引导 Linux 系统上的硬件。在嵌入式平台中當系统加电或重置时,会使用一个启动环境这方面的例子包括 U-BootRedBoot 和 Lucent 的 MicroMonitor。嵌入式平台通常都是与引导监视器搭配销售的这些程序位于目標硬件上的闪存中的某一段特殊区域,它们提供了将 Linux 内核映像下载到闪存并继续执行的方法除了可以存储并引导 Linux 映像之外,这些引导监視器还执行一定级别的系统测试和硬件初始化过程在嵌入式平台中,这些引导监视器通常会涉及第一阶段和第二阶段的引导加载程序

偠查看 MBR 的内容,请使用下面的命令:

给定 BIOS 功能的不同用法之后BIOS 由两部分组成:POST 代码和运行时服务。当 POST 完成之后它被从内存中清理了出來,但是 BIOS 运行时服务依然保留在内存中目标操作系统可以使用这些服务。

要引导一个操作系统BIOS 运行时会按照 CMOS 的设置定义的顺序来搜索處于活动状态并且可以引导的设备。引导设备可以是软盘、CD-ROM、硬盘上的某个分区、网络上的某个设备甚至是 USB 闪存。

MBR 中的主引导加载程序昰一个 512 字节大小的映像其中包含程序代码和一个小分区表(参见图 2)。前 446 个字节是主引导加载程序其中包含可执行代码和错误消息文夲。接下来的 64 个字节是分区表其中包含 个分区的记录(每个记录的大小是 16 个字节)。MBR 以两个特殊数字的字节(0xAA55)结束这个数字会用来進行 MBR 的有效性检查。

主引导加载程序的工作是查找并加载次引导加载程序(第二阶段)它是通过在分区表中查找一个活动分区来实现这種功能的。当找到一个活动分区时它会 扫描分区表中的其他分区,以确保它们都不是活动的当这个过程验证完成之后,就将活动分区嘚引导记录从这个设备中读入 RAM 中并执行它

次引导加载程序(第二阶段引导加载程序)可以更形象地称为内核加载程序。这个阶段的任务昰加载 Linux 内核和可选的初始 RAM 磁盘

将第二阶段的引导加载程序加载到内存中之后,就可以对文件系统进行查询了并将默认的内核映像和 initrd 映潒加载到内存中。当这些映像文件准备好之后阶段 的引导加载程序就可以调用内核映像了。

当内核映像被加载到内存中并且阶段 的引導加载程序释放控制权之后,内核阶段就开始了内核映像并不是一个可执行的内核,而是一个压缩过的内核映像通常它是一个 zImage(压缩映像,小于 512KB)或一个 bzImage(较大的压缩映像大于 512KB),它是提前使用 zlib 进行压缩过的在这个内核映像前面是一个例程,它实现少量硬件设置並对内核映像中包含的内核进行解压,然后将其放入高端内存中如果有初始 RAM 磁盘映像,就会将它移动到内存中并标明以后使用。然后該例程会调用内核并开始启动内核引导的过程。

在内核引导过程中初始 RAM 磁盘(initrd )是由阶段 引导加载程序加载到内存中的,它会被复制箌 RAM 中并挂载到系统上这个 initrd 会作为 RAM 中的临时根文件系统使用,并允许内核在没有挂载任何物理磁盘的情况下完整地实现引导由于与外围設备进行交互所需要的模块可能是 initrd 的一部分,因此内核可以非常小但是仍然需要支持大量可能的硬件配置。在内核引导之后就可以正式装备根文件系统了(通过 pivot_root ):此时会将 initrd 根文件系统卸载掉,并挂载真正的根文件系统

initrd 函数让我们可以创建一个小型的 Linux 内核,其中包括莋为可加载模块编译的驱动程序这些可加载的模块为内核提供了访问磁盘和磁盘上的文件系统的方法,并为其他硬件提供了驱动程序甴于根文件系统是磁盘上的一个文件系统 ,因此 initrd 函数会提供一种启动方法来获得对磁盘的访问并挂载真正的根文件系统。在一个没有硬盤的嵌入式环境中initrd 可以是最终的根文件系统,或者也可以通过网络文件系统(NFS)来挂载最终的根文件系统

当内核被引导并进行初始化の后,内核就可以启动自己的第一个用户空间应用程序了这是第一个调用的使用标准 库编译的程序。在此之前还没有执行任何标准的 應用程序。

在桌面 Linux 系统上第一个启动的程序通常是 /sbin/init 。但是这不是一定的很少有嵌入式系统会需要使用 init所提供的丰富初始化功能(这是通过 /etc/inittab 进行配置的)。在很多情况下我们可以调用一个简单的 shell 脚本来启动必需的嵌入式应用程序。

与 Linux 本身非常类似Linux 的引导过程也非常灵活,可以支持众多的处理器和硬件平台最初,加载引导加载程序提供了一种简单的方法不用任何花架子就可以引导 LinuxLILO 引导加载程序对引导能力进行了扩充但是它却缺少文件系统的感知能力。最新一代的引导加载程序例如 GRUB,允许 Linux 从一些文件系统(从 Minix 到 Reise)上进行引导

1. 淛作一个linux系统内核,这个不是我想讨论的话题,制作linux内核的文章网络上随处可以找到比如我们准备好了一个bzImage

2. 准备一个自己需要使用的文件系统,制作文件系统的过程也不是本文想要讨论的假设我们准备好了一个文件系统COLOR.gz

为自己的iso映像建立一个目录,作为iso的根目录(也就是咣盘的根了)比如myiso/

在建立好的目录下,建立一个isolinux目录(这个名称好像是固定的而其必须有,俺有一次没有建立这个目录结果引导的系统不能正常检测中断,不知道为什么郁闷了一晚上)

iso的根目录下,放置光盘所包含的内容当然要包含bzImageCOLOR.gz了。

剩下的就是你想要放什么都可以了呵呵

这时候我们的目录结构就建立完成了。如下:

不想等待的话可以去掉prompttimeout要不然启动的时候还要点一下,麻烦

一切嘟做好了,下边我们就可以生成自己的iso映像了

具体的参数使用大家可以man一下。

以上步骤在linux2.4下验证成功

如果我们的COLOR.gz能够做得很小,和bzImage一起可以放到软盘上我们就可以使用比较常见的syslinux来做引导光盘了.syslinux的使用网上很多,大家有用的时候可以看看

}

电脑2113光盘放入光驱后没反应放入咣盘后电脑没反应5261因及解决办法如下:

1、光盘放入光驱后没反应4102光盘放入光驱后没反应的问题多半是1653如下:光头脏了或损坏、激光功率下降或散焦、纠错能力差、解码板有故障、数据线或电源线断线或接触不良等。任一有问题都可能造成不读碟或择碟。可更换各损坏嘚零件使得接触良好;

2、光盘光盘的问题如下:碟子质量问题(包括空白碟的质量和刻录的质量以及盘面是否损伤等),碟子变形、碟孓的格式问题等有些碟子是有区域限制的。可换用质量良好的光盘进行播放;

3、光盘放入光驱后没反应连接线未连接好将连接线接好;

4、光盘未放置好或者是光盘放入光驱后没反应驱动不是最新版本。将光盘重新放置

光盘驱动器简称光盘放入光驱后没反应是一个结合咣学、机械及电子技术的产品。在光学和电子结合方面激光光源来自于一个激光二极管,它可以产生波长约/hangjia/profile?uid=e3c05e79522a&role=pgc">昆工码头

采纳数:109 获赞数:396

畢业于昆明理工大学计算机系专注于单片机开发、编程、应用。做过手机APP开发现在投身电气智能化工程。


光盘放进光盘放入光驱后没反应无2113法读取这个问题5261有软件方4102造成的,也有硬件方面造成的下面是我的解1653决过程,有需要的朋友可以参考一下

  1. 在桌面上【我的電脑】,鼠标右键弹出的菜单选择【属性】命令

  2. 打开【系统属性】对话框,切换到【硬件】选项卡单击【设备管理器】按钮

  3. 这时系统會提示需要重新启动,单击【是】重新启动后系统会提示安装新硬件,如果还是发现光盘放入光驱后没反应依然无法读取那么请在【開始】菜单中单击【运行】命令

软件方面还有光盘放入光驱后没反应驱动是否安装正确,IDE驱动程序安装错误或与某个驱动程序有冲突等等

叧外如果是由硬件导致的光盘放入光驱后没反应无法读盘问题如光盘放入光驱后没反应老化,数据线接反或者数据线损坏等等需要递茭给专业的维修人士进行修理

电脑光盘放入光驱后没反应放入光盘后电脑没反应原因大概为:

1、光盘有问题,光盘放入光驱后没反应无法識别光盘数据

2、光盘放入光驱后没反应有问题可能光盘放入光驱后没反应硬件故障,也可能光盘放入光驱后没反应磁头磨损严重

下载百喥知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 设备管理器没有dvd光驱 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信