开机提示DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS ENTER 是何原因

开机提示DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS ENTER 是何原因
开机提示DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS ENTER 是何原因

开机提示DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS ENTER 是何原因?

中文:盘引导失败,插入系统盘并且按键进入。

把主板拆下来仔细查看,是否有问题,然后把所有的数据线都重新安装了一下,查看硬盘数据线是否松动。

在开机时如果数据线松着的时候,主板显示很长时间,然后硬盘灯一直亮着,就进不去,把数据线重新拆下来仔细查看,如果数据线松了,就用小钳子把数据线拧拧,然后再装上后,开机测试,硬盘灯在出现主板信息之后还是亮着,但亮了不一会,突然就不亮了,硬盘开始工作,系统可能就进去了。

按以下几种方法试试:

1、检查硬件检查机箱内数据线是否有松动,看硬盘插紧了没有,还有跳线位置有没有对了。

2、COMS里面的第一启动盘是不是设置成光盘了?最好改为硬盘,需要装系统时再改为光盘,不然开机就会先从光盘启动从而出现错误。

3、如果故障依旧,按下面方法修复一下系统。

1)开机按F8不动到高级选项出现在松手,选“最近一次的正确配置”回车修复。

2)如果故障依旧,请你用系统自带的系统还原,还原到你没有出现这次故障的时候修复(如果正常模式恢复失败,请开机按F8进入到安全模式中使用系统还原)。

3)如果故障依旧,使用系统盘修复,打开命令提示符输入SFC /SCANNOW 回车(SFC和/之间有一个空格),插入原装系统盘修复系统,系统会自动对比修复的。

4)如果故障依旧,在BIOS中设置光驱为第一启动设备插入系统安装盘按R 键选择“修复安装”即可。

5)如果故障依旧,建议重装操作系统。

1.硬盘的启动系统出了问题,放入启动盘试试。

也可以查看下BIOS的Advanced BIOS Features菜单中First Boot Device 是否为HDD-0

屏幕上出现:Disk Boot Failure,Insert System Disk And Press Enter。

故障诊断:

● 具体的操作是进入CMOS设置后,选择“IDE HDD Auto Detection”项目,看是否可以检测到硬盘的存在。

若没有检测到硬盘。首先要考虑的就是硬盘了,可以通过听硬盘的运转声音或者把硬盘接到其它的电脑上来判断硬盘是否有问题。如果硬盘有问题,硬盘上高价值的数据可以找专门的数据恢复公司来恢复;如果可以正确地检测到硬盘的话,请先确认一下检测到的硬盘的容量和其他的参数是否和实际的硬盘参数相同。是相同的,说明系统应该是正常的,可能只是CMOS

中的硬盘参数的设置信息丢失了而已。不同,说明系统一定出现故障了,有可能是主板的故障,也有可能是硬盘数据线故障。

2.原因:

(1)硬盘,光驱连在同一条数据线上,且跳线都设成主盘(或都设成从盘)

(2)CMOS硬盘参数设成NONE

(3)主引导扇区结束标志55AAH错误

处理:

(1)将光驱跳线设成从盘(或硬盘跳线设成主盘)

(2)重设CMOS

(3)用NDD的“诊断磁盘”修复

UBOOT命令详解

常用U-boot命令详解(z) 2010-09-30 15:05:52| 分类:学习心得体会|字号订阅 U-boot发展到现在,他的命令行模式已经非常接近Linux下的shell了,在我编译的 U-boot-2009.11中的命令行模式模式下支持“Tab”键的命令补全和命令的历史记录功能。而且如果你输入的命令的前几个字符和别的命令不重复,那么你就只需要打这几个字符即可,比如我想看这个U-boot的版本号,命令就是“ version”,但是在所有的命令中没有其他任何一个的命令是由“v”开头的,所以只需要输入“v”即可。 [u-boot@MINI2440]# version U-Boot 2009.11 ( 4月04 2010 - 12:09:25) [u-boot@MINI2440]# v U-Boot 2009.11 ( 4月04 2010 - 12:09:25) [u-boot@MINI2440]# base Base Address: 0x00000000 [u-boot@MINI2440]# ba Base Address: 0x00000000 由于U-boot支持的命令实在太多,一个一个细讲不现实,也没有必要。所以下面我挑一些烧写和引导常用命令介绍一下,其他的命令大家就举一反三,或者“help”吧! (1)获取帮助 命令:help 或? 功能:查看当前U-boot版本中支持的所有命令。 [u-boot@MINI2440]#help ?- alias for'help' askenv - get environment variables from stdin base - print or set address offset bdinfo - print Board Info structure bmp - manipulate BMP image data boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootelf - Boot from an ELF image in memory bootm - boot application image from memory bootp - boot image via network using BOOTP/TFTP protocol

Tiny6410_Uboot移植步骤详解

Uboot_for_Tiny6410_移植步骤详解 一、设计要求 1.目的 1)掌握U-boot剪裁编写 2)掌握交叉编译环境的配置 3)掌握U-boot的移植 2.实现的功能 1)U-boot编译成功 2)移植U-boot,使系统支持从NAND FLASH启动 二、设计方案 1.硬件资源 1)ARM处理器:ARM11芯片(Samsung S3C6410A),基于ARM1176JZF-S核设 计,运行频率533Mhz,最高可达 667Mhz 2)存储器:128M DDR RAM,可升级至 256M;MLC NAND Flash(2GB) 3)其他资源:具有三LCD接口、4线电阻 触摸屏接口、100M标准网络接口、标准DB9 五线串口、Mini USB2.0接口、USB Host 1.1、3.5mm音频输入输出口、标准TV-OUT

接口、SD卡座、红外接收等常用接口;另外 还引出4路TTL串口,另1路TV-OUT、 SDIO2接口(可接SD WiFi)接口等;在板的 还有蜂鸣器、I2C-EEPROM、备份电池、A D 可调电阻、8个中断式按键等。 2.软件资源 1)arm-linux-gcc-4.5.1(交叉编译) 2)u-boot-2010.09.tar.gz arm-linux-gcc-4.5.1-v6-vfp-20101103.t gz 三、移植过程 1.环境搭建 1)建立交叉编译环境 2)去这2个网站随便下载都可以下载得到最 新或者你想要的u-boot。( https://www.360docs.net/doc/9d7403352.html,/batch.viewl ink.php?itemid=1694 ftp://ftp.denx.de/pub/u-boot/ )

UBoot移植详解

u-boot 移植步骤详解 1 U-Boot简介 U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌入式Linux 系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。这是U-Boot中Universal的一层含义,另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。就目前来看,U-Boot对PowerPC系列处理器支持最为丰富,对Linux的支持最完善。其它系列的处理器和操作系统基本是在2002年11 月PPCBOOT 改名为U-Boot后逐步扩充的。从PPCBOOT向U-Boot的顺利过渡,很大程度上归功于U-Boot的维护人德国DENX软件工程中心Wolfgang Denk[以下简称W.D]本人精湛专业水平和持着不懈的努力。当前,U-Boot项目正在他的领军之下,众多有志于开放源码BOOT LOADER移植工作的嵌入式开发人员正如火如荼地将各个不同系列嵌入式处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。 选择U-Boot的理由: ①开放源码; ②支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS; ③支持多个处理器系列,如PowerPC、ARM、x86、MIPS、XScale; ④较高的可靠性和稳定性; ④较高的可靠性和稳定性; ⑤高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布等; ⑥丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等; ⑦较为丰富的开发调试文档与强大的网络技术支持; 2 U-Boot主要目录结构 - board 目标板相关文件,主要包含SDRAM、FLASH驱动; - common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测;

i.MX6UL -- Linux系统移植过程详解(最新的长期支持版本)

i.MX6UL -- Linux系统移植过程详解(最新的长期支持版本) ?开发平台:i.MX 6UL ?最新系统: u-boot2015.04 + Linux4.1.15_1.2.0 ?交叉编译工具:dchip-linaro-toolchain.tar.bz2 源码下载地址: U-Boot: (选择rel_imx_4.1.15_1.2.0_ga.tar.bz2) https://www.360docs.net/doc/9d7403352.html,/git/cgit.cgi/imx/uboot-imx.git/ Kernel: (选择rel_imx_4.1.15_1.2.0_ga.tar.bz2) https://www.360docs.net/doc/9d7403352.html,/git/cgit.cgi/imx/linux-2.6-imx.git/ 源码移植过程: 1、将linux内核及uBoot源码拷贝到Ubuntu12.04系统中的dchip_imx6ul目录下; 2、使用tar命令分别将uboot和kernel解压到dchip_imx6ul目录下; 3、解压后进入uboot目录下,新建文件make_dchip_imx6ul_uboot201504.sh,且文件内容如下: ################################################################### # Build U-Boot.2015.04 For D518--i.MX6UL By FRESXC # ################################################################### #!/bin/bash export ARCH=arm export CROSS_COMPILE=/dchip-linaro-toolchain/bin/arm-none-linux-gnueabi - make mrproper # means CLEAN make mx6ul_14x14_evk_defconfig make2>&1|tee built_dchip_imx6ul_uboot201504.out 4进入kernel目录下,新建文件make_dchip_imx6ul_linux4115120.sh,且文件内容如下: ###################################################################

u-boot启动分析

背景: Board →ar7240(ap93) Cpu →mips 1、首先弄清楚什么是u-boot Uboot是德国DENX小组的开发,它用于多种嵌入式CPU的bootloader程序, uboot不仅支持嵌入式linux系统的引导,当前,它还支持其他的很多嵌入式操作系统。 除了PowerPC系列,还支持MIPS,x86,ARM,NIOS,XScale。 2、下载完uboot后解压,在根目录下,有如下重要的信息(目录或者文件): 以下为为每个目录的说明: Board:和一些已有开发板有关的文件。每一个开发板都以一个子目录出现在当前目录中,子目录存放和开发板相关的配置文件。它的每个子文件夹里都有如下文件(以ar7240/ap93为例): Makefile Config.mk Ap93.c 和板子相关的代码 Flash.c Flash操作代码 u-boot.lds 对应的链接文件 common:实现uboot命令行下支持的命令,每一条命令都对应一个文件。例如bootm命令对应就是cmd_bootm.c cpu:与特定CPU架构相关目录,每一款Uboot下支持的CPU在该目录下对应一个子目录,比如有子目录mips等。它的每个子文件夹里都有入下文件: Makefile Config.mk Cpu.c 和处理器相关的代码s Interrupts.c 中断处理代码 Serial.c 串口初始化代码 Start.s 全局开始启动代码 Disk:对磁盘的支持

Doc:文档目录。Uboot有非常完善的文档。 Drivers:Uboot支持的设备驱动程序都放在该目录,比如网卡,支持CFI的Flash,串口和USB等。 Fs:支持的文件系统,Uboot现在支持cramfs、fat、fdos、jffs2和registerfs。 Include:Uboot使用的头文件,还有对各种硬件平台支持的汇编文件,系统的配置文件和对文件系统支持的文件。该目下configs目录有与开发板相关的配置文件,如 ar7240_soc.h。该目录下的asm目录有与CPU体系结构相关的头文件,比如说mips 对应的有asm-mips。 Lib_xxx:与体系结构相关的库文件。如与ARM相关的库放在lib_arm中。 Net:与网络协议栈相关的代码,BOOTP协议、TFTP协议、RARP协议和NFS文件系统的实现。 Tools:生成Uboot的工具,如:mkimage等等。 3、mips架构u-boot启动流程 u-boot的启动过程大致做如下工作: 1、cpu初始化 2、时钟、串口、内存(ddr ram)初始化 3、内存划分、分配栈、数据、配置参数、以及u-boot代码在内存中的位置。 4、对u-boot代码作relocate 5、初始化malloc、flash、pci以及外设(比如,网口) 6、进入命令行或者直接启动Linux kernel 刚一开始由于参考网上代码,我一个劲的对基于smdk2410的板子,arm926ejs的cpu看了N 久,启动过程和这个大致相同。 整个启动中要涉及到四个文件: Start.S →cpu/mips/start.S Cache.S →cpu/mips/cache.S Lowlevel_init.S →board/ar7240/common/lowlevel_init.S Board.c →lib_mips/board.c 整个启动过程分为两个阶段来看: Stage1:系统上电后通过汇编执行代码 Stage2:通过一些列设置搭建了C环境,通过汇编指令跳转到C语言执行. Stage1: 程序从Start.S的_start开始执行.(至于为什么,参考u-boot.lds分析.doc) 先查看start.S文件吧!~ 从_start标记开始会看到一长串莫名奇妙的代码:

因windows、system32、config、system 的损坏或丢失解决方法

因windows/system32/config/system的损坏或丢失解决方法 这是因为你电脑的初始化文件遭破坏所致。导致破坏的原因也可能是病毒或其他原因。 由于Windows启动需要读取Syatem.ini,Win.ini和注册表文件,如果C盘根目录下有config.sys,Autoexec.bat 文件,这两个文件也会被读取。只要这些文件存在错误信息就可能出现死机。 1,这个问题多半是由于内存条质量原因引起,请先检查与更换内存测试 2,硬盘坏道,请修复。 3,以上都不是的话,请用以下方法 当XP启动不起来并提示以下文件损坏或丢失windows无法启动 WINDOWS/system32/config/system 需要光盘启动按"r"修复时,采用这种办法前提是你必须能重启到DOS下,如果你的系统是NTFS的话,那还要DOS支持才行;请用相关启动光盘或MaxDOS启动到DOS下 先到windows/repair目录里 然后copy system c:/windows/system32/config/system 这样就可以重启到桌面了 但这样你以前的设置就全没了,这是恢复到你第一次启动到桌面时的配置,你还要重新安装你的驱动和设置 如何是用windows 2000系统也出现这个提示:C:/winnt/system32/config/system 或者c:/winnt/system32/drivers/ntfs.sys文件丢失,方法也是可以用2000的系统安装光盘进入安装界面按R键进行修复. 如何不用是用2000还是用XP同样出现这两种问题的话,我想一定是硬件有问题,第一可能内存有质量问题(特别是旧内存),第二有可能是硬盘的问题,旧硬盘出现比较多一些. 电脑显示system文件丢失。重装后第二天还是同样问题 是你的硬盘坏道下面是检测隔离硬盘坏道的工具,你下载了扫描一下就知道了在天极网Ftp://https://www.360docs.net/doc/9d7403352.html,/home1/soft34/fbdisk10.zip下载一个大小仅19.8KB的小软件FBDISK(坏盘分区器)。它可将有坏磁道的硬盘自动重新分区,将坏磁道设为隐藏分区。在DOS下运行FBDISK,屏幕提示Start scan hard disk?(Y/N),输入Y,开始扫描硬盘,并将坏道标出来,接着提示Write to disk?(Y/N),选Y。坏道就会被隔离

因以下文件的损坏或者丢失 windows无法启动的解决方法

因以下文件的损坏或丢失, Windows无法启动: \Windows\System32\Config\System 启动故障恢复控制台、创建临时文件夹、将现有注册表文件备份到新位置、删除现有位置的注册表文件,然后将注册表文件从修复文件夹复制到 System32\Config 文件夹中。完成此过程之后将创建一个注册表,您可以使用此注册表启动 Windows XP 具体步骤 将 Windows XP 启动盘插入软盘驱动器,或将 Windows XP 安装光盘插入 CD-ROM 驱动器,然后重新启动计算机。 按照提示,单击以选中从 CD-ROM 驱动器启动计算机所需的所有选项。 出现“欢迎使用安装程序”屏幕时,按 R 键启动故障恢复控制台。 如果您使用的是双启动或多启动计算机,请从故障恢复控制台中选择要访问的安装。 按照提示,键入管理员密码。如果管理员密码为空,则只需按 Enter 键。 在故障恢复控制台命令提示符处,键入下列几行命令,并在每行之后按 Enter 键: md tmp copy c:\windows\system32\config\system c:\windows\tmp\system.bak copy c:\windows\system32\config\software c:\windows\tmp\software.bak copy c:\windows\system32\config\sam c:\windows\tmp\sam.bak copy c:\windows\system32\config\security c:\windows\tmp\security.bak copy c:\windows\system32\config\default c:\windows\tmp\default.bak delete c:\windows\system32\config\system delete c:\windows\system32\config\software delete c:\windows\system32\config\sam delete c:\windows\system32\config\security delete c:\windows\system32\config\default copy c:\windows\repair\system c:\windows\system32\config\system copy c:\windows\repair\software c:\windows\system32\config\software copy c:\windows\repair\sam c:\windows\system32\config\sam copy c:\windows\repair\security c:\windows\system32\config\security copy c:\windows\repair\default c:\windows\system32\config\default 键入 exit 退出故障恢复控制台。计算机将重新启动。 -------------------------------- 二 ----------------------------------- 如何进入控制台:放入安装光盘,设从光驱启动,经过一段时间的初始化,出现提示操 作界面,按R进入控制台。输入操作系统的编号即可进入相应的控制台。这时系统会提示 输入密码即Administrator帐户密码。 windows/system32/config/system,这个是系统的注册表配置文件,如果损坏是无法进入系统的,解决方法是用DOS启动盘或进系统恢复控制台下,输入如下命令:copy

UBoot源码分析1

?UBoot源码解析(一)

主要内容 ?分析UBoot是如何引导Linux内核 ?UBoot源码的一阶段解析

BootLoader概念?Boot Loader 就是在操作系统内核运行之前运行 的一段小程序。通过这段小程序,我们可以初始 化硬件设备、建立内存空间的映射图,从而将系 统的软硬件环境带到一个合适的状态,以便为最 终调用操作系统内核准备好正确的环境 ?通常,Boot Loader 是严重地依赖于硬件而实现 的,特别是在嵌入式世界。因此,在嵌入式世界 里建立一个通用的Boot Loader 几乎是不可能的。 尽管如此,我们仍然可以对Boot Loader 归纳出 一些通用的概念来,以指导用户特定的Boot Loader 设计与实现。

UBoot来源?U-Boot 是 Das U-Boot 的简称,其含义是 Universal Boot Loader,是遵循 GPL 条款的开放源码项目。最早德国 DENX 软件工程中心的 Wolfgang Denk 基于 8xxROM 和 FADSROM 的源码创建了 PPCBoot 工程项目,此后不断 添加处理器的支持。而后,Sysgo Gmbh 把 PPCBoot 移 植到 ARM 平台上,创建了 ARMBoot 工程项目。最终, 以 PPCBoot 工程和 ARMBoot 工程为基础,创建了 U- Boot 工程。 ?而今,U-Boot 作为一个主流、通用的 BootLoader,成功地被移植到包括 PowerPC、ARM、X86 、MIPS、NIOS、XScale 等主流体系结构上的百种开发板,成为功能最多、 灵活性最强,并且开发最积极的开源 BootLoader。目前。 U-Boot 仍然由 DENX 的 Wolfgang Denk 维护

嵌入式Linux之我行 史上最牛最详细的uboot移植,不看别后悔

嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(一) 嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux 的朋友提供方便。如有错误之处,谢请指正。 ?共享资源,欢迎转载:https://www.360docs.net/doc/9d7403352.html, 一、移植环境 ?主机:VMWare--Fedora 9 ?开发板:Mini2440--64MB Nand,Kernel:2.6.30.4 ?编译器:arm-linux-gcc-4.3.2.tgz ?u-boot:u-boot-2009.08.tar.bz2 二、移植步骤 本次移植的功能特点包括: ?支持Nand Flash读写 ?支持从Nor/Nand Flash启动 ?支持CS8900或者DM9000网卡 ?支持Yaffs文件系统 ?支持USB下载(还未实现) 1.了解u-boot主要的目录结构和启动流程,如下图。

u-boot的stage1代码通常放在cpu/xxxx/start.S文件中,他用汇编语言写成;u-boot的stage2代码通常放在lib_xxxx/board.c文件中,他用C语言写成。各个部分的流程图如下:

2. 建立自己的开发板项目并测试编译。 目前u-boot对很多CPU直接支持,可以查看board目录的一些子目录,如:board/samsung/目录下就是对三星一些ARM 处理器的支持,有smdk2400、smdk2410和smdk6400,但没有2440,所以我们就在这里建立自己的开发板项目。 1)因2440和2410的资源差不多,主频和外设有点差别,所以我们就在board/samsung/下建立自己开发板的项目,取名叫my2440 2)因2440和2410的资源差不多,所以就以2410项目的代码作为模板,以后再修改

(完整版)system文件为什么为丢失

为什么电脑会出现\windows\system32\config\system\文件丢失导致电脑不能启动这种现象悬赏分:20 - 解决时间:2009-2-8 20:17 我的电脑经常会出现\windows\system32\config\system\文件丢失导致电脑不能启动这种现象,重装了几次系统也没用…… 提问者:potato4026 - 实习生一级最佳答案 启动故障恢复控制台、创建临时文件夹、将现有注册表文件备份到新位置、删除现有位置的注册表文件,然后将注册表文件从修复文件夹复制到System32\Config 文件夹中。完成此过程之后将创建一个注册表,您可以使用此注册表启动Windows XP 具体步骤 将Windows XP 启动盘插入软盘驱动器,或将Windows XP 安装光盘插入CD-ROM 驱动器,然后重新启动计算机。 按照提示,单击以选中从CD-ROM 驱动器启动计算机所需的所有选项。 出现“欢迎使用安装程序”屏幕时,按R 键启动故障恢复控制台。 如果您使用的是双启动或多启动计算机,请从故障恢复控制台中选择要访问的安装。 按照提示,键入管理员密码。如果管理员密码为空,则只需按Enter 键。 在故障恢复控制台命令提示符处,键入下列几行命令,并在每行之后按Enter 键: md tmp copy c:\windows\system32\config\system c:\windows\tmp\system.bak copy c:\windows\system32\config\software c:\windows\tmp\software.bak copy c:\windows\system32\config\sam c:\windows\tmp\sam.bak copy c:\windows\system32\config\security c:\windows\tmp\security.bak copy c:\windows\system32\config\default c:\windows\tmp\default.bak delete c:\windows\system32\config\system delete c:\windows\system32\config\software delete c:\windows\system32\config\sam delete c:\windows\system32\config\security delete c:\windows\system32\config\default copy c:\windows\repair\system c:\windows\system32\config\system copy c:\windows\repair\software c:\windows\system32\config\software copy c:\windows\repair\sam c:\windows\system32\config\sam copy c:\windows\repair\security c:\windows\system32\config\security copy c:\windows\repair\default c:\windows\system32\config\default 键入exit 退出故障恢复控制台。计算机将重新启动。 -------------------------------- 二

iTop4412的uboot第一阶段

2 uboo t 源码分析 2.5.1.star t.S 2.5.1.star t.S 引入引入 2.5.1.1、u-boot.lds中找到start.S入口 (1)在C语言中整个项目的入口就是 main函数(这是 个.c文件的项目,第一个要分析的文件就是包含了C语言规定的),所以譬如说一 个有 main函数的那个文件。 10000 ( 2 方。ENTRY(_start)因此 _start 符号所在的文件就是整个程序的起始文 件, _sta rt 所在处的 代码就是整个程序的起始代码。 2.5.1.2、SourceInsight中如何找到 文件 (1)当前状况:我们知道在uboot中的1000多个文件中有一个符号 叫 _start,但是我们不知道 这个符号在哪个文件中。这种情况下要查找一个符号在所有项目中文件中的引用,要使用SourceInsight的搜索功能。 (2)start.s 在cpu/arm_cortexa9/start.s (3)然后进入start.S文件中,发现 个uboot的入口代码,就是第57 57行中就 是行。_sta rt 标号的定义处,于是乎我们就找到了整 2.5.1.3、SI中找文件技巧 (1)以上,找到了start.S文件,下面我们就从start.S文件开始分析uboot第一阶段。 (2)在SI中,如果我们知道我们要找的文件的名字,但是我们又不知道他在哪个目录下,我 们要怎样找到并打开这个文件?方法是在 SI中先打开右边的工程项目管理栏目,然后点击 最左边那个(这个是以文件为单位来浏览的),然后在上面输入栏中输入要找的文件的名 字。我们在输入的时候,SI在不断帮我们进行匹配,即使你不记得文件的全名只是大概记 得名字,也能帮助你找到你要找的文件。 2.5.2.start.S解析1 2.5.2.1、不简单的头文件包含

Windows XP system文件损坏修复法

Windows XP system文件损坏修复法有时我们在解决电脑故障时会遇到系统无法进入,显示下图的提示 遇到此类情况请先尝试下列这些方式: 方法一:用原盘XP光驱启动,在第一屏选择‘R’

进入所属操作系统修复,选择需要修复的系统,当前为1所以输入1按“Enter” 接着需要输入当前系统的administrator账户的密码 输入下列命令,进入到c:\windows\system32\config\目录下,

dir system显示找到文件,文件并没丢失,只是损坏。

于是输入:rename system system.old;(将注册表文件重命名)rename system.alt system(system.alt其实是注册表文件的副本)把副本重命名成正本就可以了。这时却出现“无法找到system.alt的提示”,看来是system.alt也丢失了,就用以下第二方法。 方法二:不过没关系,还有其他办法.XP系统在windows\repair下还有个系统备份。同样rename system system.old(一般不直接删除系统文件,重命名后还可以再还原回来)。接着copy c:\windows\repair\system c:\windows\system32\config\,提示复制一个文件,重新启动,正常进入系统。 方法三:进入PE系统直接拷贝windows\repair目录下的system覆盖原文件。 方法二和三,修复还没结束,由于repair下的文件是安装后第一次成功启动后备份的,所以注册表文件里并没有声卡,显卡相关驱动信息。但驱动文件已经在C盘下,所以只要直接让它查找驱动就可以安装好了。

uboot_freescale_imx51_start.s_详解

/* * *Purpose: the document is used to learn detailed information aboutimx51 cpu start.S, *referring to some documents on websites. *file address: U-boot-2009.08/Cpu/Arm_cortexa8/start.S * * writer: xfhai 2011.7.22 * *Instruction: *1.@xxxx : indicates annotation *2./***** *** *****/ : stand for code in my files *3.instructions refers to code not included in my file * */ Section 1: uboot overview 大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。 1、Stage1 start.S代码结构 u-boot的stage1代码通常放在start.S文件中,他用汇编语言写成,其主要代码部分如下:==> (1)定义入口。由于一个可执行的Image必须有一个入口点,并且只能有一个全局入口,通常这个入口放在ROM(Flash)的0x0地址,因此,必须通知编译器以使其知道这个入口,该工作可通过修改连接器脚本来完成。 ==>(2)设置异常向量(Exception Vector)。 ==>(3)设置CPU的速度、时钟频率及终端控制寄存器。 ==>(4)初始化内存控制器。 ==>(5)将ROM中的程序复制到RAM中。 ==>(6)初始化堆栈。 ==>(7)转到RAM中执行,该工作可使用指令ldr pc来完成。 2、Stage2 C语言代码部分 lib_arm/board.c中的start arm boot是C语言开始的函数也是整个启动代码中C语言的主函数,同时还是整个u-boot(armboot)的主函数,该函数只要完成如下操作: ==>(1)调用一系列的初始化函数。 ==>(2)初始化Flash设备。 ==>(3)初始化系统内存分配函数。 ==>(4)如果目标系统拥有NAND设备,则初始化NAND设备。 ==>(5)如果目标系统有显示设备,则初始化该类设备。 ==>(6)初始化相关网络设备,填写IP、MAC地址等。 ==>(7)进去命令循环(即整个boot的工作循环),接受用户从串口输入的命令,然后进行相应的工作。

三个妙方帮你恢复XP系统里 system文件

三个妙方帮你恢复XP系统里system文件 方法一:用原盘XP光驱启动,在第一屏选择‘R’,进入所属操作系统修复,进入到c:\windows\system32\config\目录下,dir system显示找到文件,文件并没丢失,只是损坏。于是输入:rename system system.old;(将注册表文件重命名)rename system.alt system (system.alt其实是注册表文件的副本)把副本重命名成正本就可以了。这时却出现“无法找到system.alt的提示”,看来是system.alt也丢失了,就用以下第二方法。 方法二:不过没关系,还有其他办法.XP系统在windows\repair 下还有个系统备份.同样rename system system.old(一般不直接删除系统文件,重命名后还可以再还原回来)。接着copy c:\windows\repair\system c:\windows\system32\config\,提示复制一个文件,重新启动,正常进入系统。 方法三:进入PE系统直接拷贝windows\repair目录下的system 覆盖原文件。 方法二和三,修复还没结束,由于repair下的文件是安装后第一次成功启动后备份的,所以注册表文件里并没有声卡,显卡相关驱动

信息。但驱动文件已经在C盘下,所以只要直接让它查找驱动就可以安装好了。 有人会问为什么不直接在DOS下对那些文件进行重命名和复制.对不起,在DOS下想对系统文件进行操作,受保护的,所以不能。 这种重命名方法比网络上所说的,把system文件备份到其他文件夹更方便,而且好象系统文件无法复制到其他文件夹,更不能进行覆盖。

uboot启动代码详解

·1 引言 在专用的嵌入式板子运行GNU/Linux 系统已经变得越来越流行。一个嵌入式Linux 系统从软件的角度看通常可以分为四个层次: 1. 引导加载程序。固化在固件(firmware)中的boot 代码,也就是Boot Loader,它的启动通常分为两个阶段。 2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3. 文件系统。包括根文件系统和建立于Flash 内存设备之上文件系统,root fs。 4. 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式GUI 有:MicroWindows 和MiniGUI 等。 引导加载程序是系统加电后运行的第一段软件代码。回忆一下PC 的体系结构我们可以知道,PC 机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR 中的OS Boot Loader(比如,LILO 和GRUB 等)一起组成。BIOS 在完成硬件检测和资源分配后,将硬盘MBR 中的Boot Loader 读到系统的RAM 中,然后将控制权交给OS Boot Loader。Boot Loader 的主要运行任务就是将内核映象从硬盘上读到RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。 而在嵌入式系统中,通常并没有像BIOS 那样的固件程序(注,有的嵌入式CPU 也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由Boot Loader 来完成。比如在一个基于ARM7TDMI core 的嵌入式系统中,系统在上电或复位时通常都从地址 0x00000000 处开始执行,而在这个地址处安排的通常就是系统的Boot Loader 程序。·2 bootloader简介 简单地说,Boot Loader (引导加载程序)就是在操作系统内核运行之前运行的一段小程序,它的作用就是加载操作系统, 实现硬件的初始化,建立内存空间的映射图,为操作系统内核准备好硬件环境并引导内核的启动。如上图所示的那样在设备的启动过程中bootloader位于最底层,首先被运行来引导操作系统运行,很容易可以看出bootloader是底层程序所以它的实现严重地依赖于硬件,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。尽管如此,一些功能强大、支持硬件环境较多的BootLoader也被广大的使用者和爱好者所支持,从而形成了一些被广泛认可的、较为通用的的bootloader实现。 2.1 Boot Loader 所支持的CPU 和嵌入式板 每种不同的CPU 体系结构都有不同的Boot Loader。有些Boot Loader 也支持多种体系结构的CPU,比如U-Boot 就同时支持ARM 体系结构和MIPS 体系结构。除了依赖于CPU 的体系结构外,Boot Loader 实际上也依赖于具体的嵌入式板级设备的配置。这也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种CPU 而构建的,要想让运行在一块板子上的Boot Loader 程序也能运行在另一块板子上,通常也都需要修改Boot Loader 的源程序。 2.2 Boot Loader 的安装媒介(Installation Medium)

电脑system文件丢失如何恢复

windows\system32\config\system\文件丢失 解决方案一: -------------------------------------------------------------------------------- 1.将 Windows XP 启动盘插入软盘驱动器,或将 Windows XP 安装光盘插入 CD-ROM 驱动器,然后重新启动计算机。 按照提示,单击以选中从 CD-ROM 驱动器启动计算机所需的所有选项。 2.出现“欢迎使用安装程序”屏幕时,按 R 启动故障恢复控制台。 3.如果您使用的是双启动或多重启动计算机,请从故障恢复控制台中选择要访问的安装。 4.根据提示,键入管理员密码。如果管理员密码为空,则按 Enter 。 5.在故障恢复控制台的命令提示符处,键入下面几行命令,并在每行之后按 Enter : md tmp copy c:\windows\system32\config\system c:\windows\tmp\system.bak copy c:\windows\system32\config\software c:\windows\tmp\software.bak copy c:\windows\system32\config\sam c:\windows\tmp\sam.bak copy c:\windows\system32\config\security c:\windows\tmp\security.bak copy c:\windows\system32\config\default c:\windows\tmp\default.bak delete c:\windows\system32\config\system delete c:\windows\system32\config\software delete c:\windows\system32\config\sam delete c:\windows\system32\config\security delete c:\windows\system32\config\default copy c:\windows\repair\system c:\windows\system32\config\system copy c:\windows\repair\software c:\windows\system32\config\software copy c:\windows\repair\sam c:\windows\system32\config\sam copy c:\windows\repair\security c:\windows\system32\config\security copy c:\windows\repair\default c:\windows\system32\config\default 6.键入 exit 退出故障恢复控制台。计算机将重新启动。 注意:此过程假定 Windows XP 安装在 C:\Windows 文件夹中。如果 Windows XP 安装在另一个位置,请务必将 C:\Windows 更改为相应的 windows_folder 。 如果您具有对另一台计算机的访问权限,为了节省时间,您可以在第 2 步中复制该文本,然后创建一个文本文件(例如“Regcopy1.txt ”)。要创建此文件,请在启动故障恢复控制台时运行以下命令: batch regcopy1.txt 使用故障恢复控制台中的 batch 命令,您可以按顺序处理文本文件中的所有命令。在使用 batch 命令时,无需手动键入多个命令。 U n R e g i s t e r e d

Uboot启动代码解析

U-Boot启动过程 开发板上电后,执行U-Boot的第一条指令,然后顺序执行U-Boot 启动函数。看一下board/smdk2410/u-boot.lds这个链接脚本,可以知道目标程序的各部分链接顺序。第一个要链接的是cpu/arm920t/start.o,那么U-Boot的入口指令一定位于这个程序中。下面分两阶段介绍启动流程: 第一阶段 1.cpu/arm920t/start.S 这个汇编程序是U-Boot的入口程序,开头就是复位向量的代码。_start: b reset //复位向量 ldr pc, _undefined_instruction ldr pc, _software_interrupt ldr pc, _prefetch_abort ldr pc, _data_abort ldr pc, _not_used ldr pc, _irq //中断向量 ldr pc, _fiq //中断向量 … /* the actual reset code */ reset: //复位启动子程序

/* 设置CPU为SVC32模式 */ mrs r0,cpsr bic r0,r0,#0x1f orr r0,r0,#0xd3 msr cpsr,r0 /* 关闭看门狗 */ ………… relocate: /* 把U-Boot重新定位到RAM */ adr r0, _start /* r0是代码的当前位置 */ ldr r1, _TEXT_BASE /*_TEXT_BASE是RAM中的地址 */ cmp r0, r1 /* 比较r0和r1,判断当前是从Flash启动,还是RAM */ beq stack_setup /* 如果r0等于r1,跳过重定位代码 */ /* 准备重新定位代码 */ ldr r2, _armboot_start ldr r3, _bss_start sub r2, r3, r2 /* r2 得到armboot的大小 */ add r2, r0, r2 /* r2 得到要复制代码的末尾地址 */ copy_loop: /* 重新定位代码 */ ldmia r0!, {r3-r10} /*从源地址[r0]复制 */

相关文档
最新文档