关于NTFS与FAT32文件系统的互相转换

关于NTFS与FAT32文件系统的互相转换
关于NTFS与FAT32文件系统的互相转换

一、FAT32-;NTFS:

在开始——运行中输入CMD ,再输入 convert X:/FS:NTFS(X:是所要转化的分区盘符)在下次系统启动时自动转化。不过这样的转化有两个小小的不足:

1.其实也不能算是弱点,主要是转化为NTFS之后,系统默认Everyone用户对所有目录、文件拥有完全权限,其实FAT32本来就默许所有用户访问!为了安全起见,需要重新设置安全特性。对一些重要文件,应该取消everyone用户的完全权限。

2.转化后的NTFS分区,第一次可能很容易产生磁盘碎片。

3.C盘在转换为NTFS分区前,一定要注意是不是多系统的,有没有安装WIN9X、ME等不认识NTFS分区的系统,如果安装了,那么C盘千万不能转换为NTFS分区,一定要保持原来的FAT分区。扩展分区里的逻辑分区则除了安装有WIN9X/ME系统的分区外,其他的分区都可以转换为NTFS分区。

二、NTFS-;FAT32:

目前为止,比较常用的方法就是用PQ Magic进行转化(也可用Acronis公司的Partation Expert,英文版,但完全支持中文),但是一定要注意,如果有中文目录、文件,一定要集中起来用Winrar打包成英文名称的压缩包,否则这些中文目录、文件都将无法访问!!!

三、常见问题处理:

1.中途断电,分区成了PQRP类型,无法访问,怎么办?

可以利用PQ安装目录下的PTEDIT32.exe(PowerQuestPartitionMagic 8.0)进行修复,只需将标志为PQRP的分区(类型为3C),转化为FAT32/NTFS(类型为07/0B)即可。如果是C 盘出错,可以借助实模式DOS加载DOS版的PTEDIT.exe(PowerQuestPartitionMagic 8.0DOS)进行修复。注:其他PQ操作断电导致的问题也可以依法炮制,而且相对于Diskgenius,PTEDIT32.exe可以支持NTFS分区。

2.转化分区后,中文目录无法访问,怎么办?

可以利用GHOST克隆问题分区,然后用GHOST Explorer打开gho备份文件,重命名中文目录即可。

实验四Linux内核移植实验

合肥学院 嵌入式系统设计实验报告 (2013- 2014第二学期) 专业: 实验项目:实验四 Linux内核移植实验 实验时间: 2014 年 5 月 12 实验成员: _____ 指导老师:干开峰 电子信息与电气工程系 2014年4月制

一、实验目的 1、熟悉嵌入式Linux的内核相关代码分布情况。 2、掌握Linux内核移植过程。 3、学会编译和测试Linux内核。 二、实验内容 本实验了解Linux2.6.32代码结构,基于S3C2440处理器,完成Linux2.6.32内核移植,并完成编译和在目标开发板上测试通过。 三、实验步骤 1、使用光盘自带源码默认配置Linux内核 ⑴在光盘linux文件夹中找到linux-2.6.32.2-mini2440.tar.gz源码文件。 输入命令:#tar –jxvf linux-2.6.32.2-mini2440-20110413.tar对其进行解压。 ⑵执行以下命令来使用缺省配置文件config_x35 输入命令#cp config_mini2440_x35 .config;(注意:x35后面有个空格,然后有个“.”开头的 config ) 然后执行“make menuconfig”命令,但是会出现出现缺少ncurses libraries的错误,如下图所示: 解决办法:输入sudo apt-get install libncurses5-dev 命令进行在线安装ncurses libraries服务。

安装好之后在make menuconfig一下就会出现如下图所示。 ⑶配置内核界面,不用做任何更改,在主菜单里选择退出,并选“Yes”保存设置返回到刚命令行界面,生成相应配置的头文件。 编译内核: #make clean #make zImage 在执行#make zImage命令时会出现如下错误: 错误:arch/arm/mach-s3c2440/mach-mini2440.c:156: error: unknown field 'sets' specified in initializer 通过网上查找资料 于是在自己的mach-mini2440.c中加入 #include

根文件系统移植

实验五根文件系统移植 实验目的: 通过本次实验,使大家学会根文件系统移植的具体步骤,并对根文件系统有更近一步的感官认识。让同学理解由于根文件系统是内核启动时挂在的第一个文件系统,那么根文件系统就要包括Linux启动时所必须的目录和关键性的文件,任何包括这些Linux 系统启动所必须的文件都可以成为根文件系统。 实验硬件条件: 1、实验PC机一台,TINY6410开发板一台 2、电源线,串口线,数据线。 实验软件条件: 1、VMware Workstation, 2、Ubuntu10.04 3、mktools-20110720.tar.gz 4、busybox-1.13.3-mini2440.tgz, 5、SecureCRT以及dnw烧写工具 实验步骤: 一、实验步骤 1.进入rootfs目录,查看压缩文件,具体操作指令如下:

2.发现有两个压缩文件夹,分别进行解压: 3.tar xvzf busybox-1.13.3-mini2440.tgz, 4.tar xvzf mktools-20110720.tar.gz,解压完成后, 5.查看文件夹#ls

二、实验步骤 1.修改架构,编译器#cd busybox-1.13.3/ 2.进入后查看#ls 3.#gedit Makefile 4.修改 164行 CROSS_COMPILE ?=arm-linux- 5.修改190行 ARCH ?= arm 6.保存后,退出!

三、实验步骤 1.修改配置 #make menuconfig 2.若出现如下提示

3.需调整到最大化。

4.把Busybox Settings -----→>Build Option ------→> Build BusyBox as astatic binary (no shared libs) 选择上,其他的默认即可。 然后一直退出,保存即可 5.接着执行 make接着执行 make install 6.最终生成的文件在_install 中 #cd _install

如何将F盘转换成了NTFS格式(以此类推)

如何将C盘转换成了NTFS格式 FAT32到 NTFS 假设你要转换你的F盘 方法:点击“开始”-->运行--->输入CMD,然后按回车键,出现命令提示符 在命令提示符后输入"CONVERT F: /FS:NTFS"(不包括引号,注意在CONVERT后留一个空格),回车后就会有提示了,然后按照提示去做就可以了。 说明:众所周知,FAT32的硬盘格式并不能支持4GB以上的文件,而现在的大游戏越来越多了,尤其是一些大作,游戏大小最高可以达到13.8GB。但是,现在使用FAT32格式的朋友普遍较多,为了喜欢的游戏,我们只好把硬盘格式转换为NTFS。 注意:此方法一般不会损坏磁盘内原有数据,但依然建议先备份数据。如果你是新装机器,建议各位除了你的C盘和另外一个可能用来ghost的盘外其他盘都格式化成NTFS格式,因为直接格式化的NTFS 比FAT32转的NTFS 性能要高,另外之所以保留C盘为FAT32格式只是一个建议,有dos下安装系统经验的朋友可能会有体会。另外,如果你一直只用光驱安装系统,而且无需用dos,那么全用NTFS是最好的了! 但如果你的各个分区已经用了很久,为了数据不能格式化,而只想转化现在的某个FAT32分区为NTFS,只需要看下面的方法即可! 假设你要转换你的F盘 点击“开始”-->运行--->输入CMD,然后按回车键,出现命令提示符 在命令提示符后输入"CONVERT F: /FS:NTFS"(不包括引号,注意在CONVERT后留一个空格),回车后就会有提示了,然后按照提示去做就可以了。 如果你的磁盘改了名字,系统会要求你输入当前磁盘卷标,那个卷标就是你改了的名字,比如说F盘,你曾把磁盘名改为了"游戏",那么卷标就是游戏。 转化命令输入后,如果你转的盘正在使用,系统会提示,转化会在你重启机器后自动运行,在下次重启时就会自动转换完成。 注意:此方法不可逆转,FAT32转到NTFS后不可转回,当然也没必要转回,一定要转回可以格式化硬盘。 安装程序转换至NTFS文件系统? 安装程序简化了将磁盘分区转换为新版NTFS文件系统的操作方式,即便原先使用FAT或FAT32文件系统,转换过程同样可以轻松完成。这种转换方式能够确保您的文件完好无损(与分区格式化方式不同)。安装程序首先检测您的现有文件系统。如果当前文件系统为NTFS,则无需进行转换。如果当前文件系统为FAT或FAT32,安装程序将允许您选择将其转换为NTFS。如果您正在使用FAT或FAT32分区,并且无需确保当前文件完好无损,那么,建

u盘FAT32怎么转NTFS

u盘FAT32怎么转NTFS ①在【运行】输入cmd 回车打开【命令提示符】窗口(也可在开始菜单→所有程序→附件→命令符) 在命令提示符状态下键入:convert F:/FS:NTFS /V 回车执行,这里的“F:”就是要转换文件系统的分区,参数“V”表示在转换时显示详细信息,可以不使用此参数。在重启电脑时,WinXP会自动先将F:盘转换为NTFS文件系统(会在进入系统前显示相关过程),然后再进入系统。 需要注意: 在转换过程中,一定要保证不断电,否则可能使系统产生异常,而且该分区的使用可能受到影响。 ②如果分区中的数据不要了,那就把这个分区当作一个“干净”分区来处理,Format无疑是好方法。通过给format命令添加参数就可以格式化指定分区的文件系统类型,包括FAT32和NTFS。这个操作命令:format F:/FS:NTFS (F 为要格式化的分区)。 ③图形界面中操作方法:鼠标右键单击目标分区,选择“格式化”。在出现的窗口中,选择“文件系统”为“NTFS”,然后点击“开始”即可。 打开命令提示符窗口。 在命令提示符窗口,请键入: convert drive_letter:/fs:ntfs 例如:转换D盘可输入convert D:/fs:ntfs 注意 要打开“命令提示符”窗口,请单击“开始”,指向“程序”,指向“附件”,然后单击“命令提示符”。 使用此命令,您可以将FAT 或FAT32 卷转化为NTFS。 这种转换方法,原来盘里的文件不会产生变化,但过程是不可逆的,即不能使文件不产生任何变化从fat32转换为ntfs格式 在操作过程中可能会遇动几次问你Y or N的问题,全部选择Y就是了,有可能需要重启计算机才能完成转换过程,都有提示的。

嵌入式linux下的文件系统

嵌入式linux下常见的文件系统RomFS:只读文件系统,可以放在ROM空间,也 可以在系统的RAM中,嵌入式linux中常用来作 根文件系统 ?RamFS:利用VFS自身结构而形成的内存文件系 统,使用系统的RAM空间 ?JFFS/JFFS2:为Flash设计的日志文件系统?Yaffs:专门为Nand Flash设计 ?proc:为内核和内核模块将信息发送给进程提 供一种机制,可以查看系统模块装载的信息?devFS:设备文件系统 Linux上的Ext2fs ?支持4 TB 存储、文件名称最长1012 字符 ?可选择逻辑块 ?快速符号链接 ?Ext2不适合flash设备 ?是为象IDE 设备那样的块设备设计的,逻辑块大小必 须是512 byte、1 KB、2KB等 ?没有提供对基于扇区的擦除/写操作的良好管理 ?如果在一个扇区中擦除单个字节,必须将整个扇区复制到RAM,然后擦除,再重写入

?在出现电源故障时,Ext2fs 是不能防止崩溃的 ?文件系统不支持损耗平衡,缩短了flash的寿命 jffs/jffs2文件系统的优缺点 ?日志文件系统 ?提供了更好的崩溃、掉电安全保护 ?jffs2支持对flash的均匀磨损 ?在扇区级别上执行闪存擦除/写/读操作要 比Ext2文件系统好 ?文件系统接近满时,JFFS2 会大大放慢运行 速度——垃圾收集 Nand上yaffs文件系统的优势 ?专门为Nand flash设计的日志文件系统 ?jffs/jffs2不适合大容量的Nand flash ?jffs的日志通过jffs_node建立在RAM中,占用RAM空间:对于128MB的Nand大概需要4MB的空间来维护节点 ?启动的时候需要扫描日志节点,不适合大容量 的Nand flash ?FAT系统没有日志 编译yaffs文件系统 ?mtd的最新补丁升级? ?接口更新,适合与yaffs

uclinux移植教程

学习开发套件V3.0中嵌入Uclinux的步骤和方法 在学习开发套件V3.0中嵌入Uclinux的步骤和方法,硬件系统为EP1C6,2Mflash,8Msdram. 开发环境:SOPC学习开发套件V3.0,型号EP1C6。QII5.1+SP2,NiosII IDE5.1+SP1。 一 .安装nios2linux开发包nios2linux-1.4 二 .建立硬件系统 1. QII中建一工程linux_nios,并添加NIOSII CPU,QII工程和平常的建立并没有什么区别,只要得加上flash和sdram,因为这里只是对linux的简单调试,所以SOPC中只添加LED和UART等几个简单外设。如下图: 注意为防止不必要的麻烦,这里尽量使用默认名字。 如果想用USB连接电脑,在QII中把串口连接到USB线的IO管脚上即可。 我们的工程中是两个口都接了,使用串口或者USB口都行。 三.建立软件环境 打开NIOSII IDE 3.1 建立linux内核 file-> new-> project 后如下图:

注意:在安装Microtronix_uclinux_nios2开发包后在IDE中分增加出如上图的Microtronix NiosII选项如果没有可以按下面方法解决: 1)、打开cmd,在 开始->运行 那里输入cmd 2)、cd到你的NiosII的工作目录下面,我的NiosII安装在D盘,如下: 3)、在这里输入命令nios2-ide.exe –clean,进入NiosII IDE的clean模式,选择workspace:

这是在New->Other那里你就可以看到那个linux的目录项了。关了IDE窗口和cmd窗口,这样就可以正常看到Microtronix_linux了。 3.2 输入内核名字 按next: finish完成 四. 构建内核: 4.1 右键内核名,在弹出菜单中选择Configure Kernel如下:

基于STM32的FATFS文件系统移植

基于STM32的FATFS文件系统移植 经过将近1个月的时间,终于完成了STM32是FATFS文件系统移植,说来是够艰辛的,SDIO章节是我学习cortex m3以来消耗时间最多的章节。这里说一些个人对于SDIO的看法,其实SDIO属于意法半导体公司在cortex m3内核之外(在芯片之内)添加的功能外设,完全属于意法的杰作了。关于SD卡的读写,分为SPI模式和SD模式(专用模式),这两种模式都必须遵循SD2.0协议。SPI模式控制方法相对较为简单,操作简洁,但失去了速度;SD模式控制方法相对较为复杂一点,操作繁琐,但具有高速的特点。 FATFS文件系统是一种兼容性比较高的文件管理系统,兼容 FAT32、FAT16。关于文件系统的细节,如果认真研究的话,应该会觉得作者的伟大,惊叹代码的绝妙。 我们要想移植FATFS,首先要做的是编写基于SDIO模式的SD卡底层驱动,这部份完整的驱动代码较多,大概有2000多行,但我们首先需要克服心理作用,再长的代码只要理解之后,都很简单。意法在参考手册中介绍SDIO时,上下文比较乱,其中还夹杂讲解了一些SD2.0协议,使得初学者云里雾里。因为SDIO是属于一种完全的外设接口,所以在讲解的过程中必须与实际的外设SD卡联系起来。 STM32的SDIO接口兼容性很高,可以兼容SD1.0卡、2.0卡、MMC 卡、多媒体卡等,与多媒体卡4.2支持三种不同的数据总线模式:1位、4位和8位,在8位的模式下速度可以达到48MHZ,但在SD2.0协议中只支持两种总数总线模式:1位和4位,在SDIO中存在两种状态机:命令状态机(CPSM)和数据状态机(DPSM),两者的使能信号独立,用于控制外部双向驱动器,命令是通过CMD命令线单线串行发送的,而数据是由于DATx数据线传输(1位或4位),每当CPSM发送一条命令给卡时,如工作正常的话,卡都会有与CPSM中设置响应格式相对应的响应内容(短响应与长响应),两者的细节在下面讲到。 SDIO功能分为两个部分,一个就是SDIO适配器模块,可以实现所有MMC/SD/SD I/O卡的相关功能,如时钟的产生、命令和数据的传输;还有就是AHB总线接口操作SDIO适配器模块中的寄存器,并产生中断和DMA请求信号。上面提到的数据总线的宽度为分为1位或4位(本文是针对SD2.0协议进行主要说明),在上电复位后,系统缺省为1位数据宽度——DAT0用于数据传输。SD卡或SD I/O卡可以使用两种数据宽度模式,这两种卡的所有数据线都需要设置为复用推挽模式。命令线CMD有两种操作模式:1、MMC卡V3.31或之前版本的卡在初始化时为

嵌入式操作系统期末复习资料(已分类)超全

1、什么是嵌入式系统?它由及部分组成? 嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。 嵌入式系统一般有3个主要的组成部分:硬件、实时操作系统以及应用软件。 2、嵌入式系统的三要素是什么? 嵌入式系统的三要素是嵌入、专用、计算机;其中嵌入性指的是嵌入到对象体系中,有对象环境要求;专用性是指软、硬件按对象要求裁减;计算机指实现对象的智能化功能。 3、嵌入式系统一般由几层组成? 嵌入式系统一般由硬件层、中间层、软件层和功能层组成。 4、Linux作为嵌入式系统的优势? (1)可应用于多种硬件平台。 (2)添加部件非常容易 (3)支持大量硬件 (4)程序源码全部公开 (5)完善的开发工具 5、何为虚拟内存?虚拟内存的管理有何作用? 使用虚拟地址寻址整个系统的主存和辅存为虚拟内存。可以运行体积比物理内存还要大的应用程序,也可以实现“按需调页”,既满足了程序的运行速度,又节约了物理内存。6、进程内存区域涉及哪几种数据段? 代码段:可执行的操作命令 数据段:已初始化的全局变量 BSS段:未初始化的全局变量 堆:进程运行中被分配的内存段 栈:程序临时创建的局部变量 7、简述内核空间和用户空间的区别? 内核空间:任何操作都可以执行 用户空间:禁止处理器对硬件的直接访问和对内容的未授权访问。 两者分别引用不同的内存映射,即程序代码段使用不同的“地址空间” 8、简述共享内存的作用 ①、共享内存区域是被多个进程共享的一部分物理内存 ②、进程可以直接访问该共享内存区域,并通过该区域进行通信。 ③、进程间快速共享数据 ④、共享虚拟内存的页面出现在每一个共享该页面的进程的页表中,但它不需要所有进程的虚拟内存都有相同的虚拟地址 9、简述内存管理与虚拟文件系统之间的关系 内存管理利用虚拟文件系统支持交换,交换进程定期由调度程序调度,这也是内存管理依赖于进程调度的唯一原因。当一进程存取的内存映射被换出时,内存管理向文件系统发出请求,同时挂起当前正在进行的进程。 10、Linux系统中线程的同步方式有互斥量、信号灯和条件变量等。假设现在需要设计一个多线程的应用程序,试分析一下以上几种同步方式分别可在什么场合下使用? Mutex互斥量:用于操作某个临界资源时对该资源上锁,以实现互斥地对独占资源的使

FAT32格式转换为NTFS格式详解

FAT32格式转换为NTFS格式详解 开始——运行——cmd——输入convert 磁盘名: /fs:ntfs 这里的磁盘名可以是电脑中的任意盘,如c,d,e,f 如果将D盘从FAT32格式转换为NTFS,在DOS里直接输入以下命令即可: convert D: /fs:ntfs 不过建议最好不要动C盘。 最后别忘了要重启一下电脑。 首先转入命令提示符,方法: 1、在开始菜单的“运行”中输入cmd回车 2、点击开始-程序-附件-命令提示符 将C盘转换为NTFS系统,在命令提示符中输入命令: Convert c:/fs:ntfs/v 参数/v是要求详述过程,有经验者可以不用。 如果系统提示整理磁盘碎片,那就照办。 C盘转换时,系统会询问是否强行卸下该卷,输入“N”,回车。 又问是否下次启动时完成转换,输入“Y”,回车。 重启电脑,即可完成转换,不会损坏盘上的文件。 D、E、F盘类同,不会询问是否强行卸下该卷。 fat32转ntfs命令详解 FAT:文件配置表(英文:File Allocation Table,首字母缩略字:FAT)是一种由微软发明的并带有部分专利[1]的文件系统,供MS-DOS使用,也是非NT内核的微软窗口使用的文件系统,初期从FAT16-最终到FAT32,后来又因系统安全性的逐渐提升,现在系统都将FAT32格式的转换成NTFS格式。 NTFS:提供内置安全性特征,它控制文件的隶属关系和访问,相对FAT32格式要好很多! FAT与NTFS对比: 在运行Windows XP的计算机上,您可以在三种面向磁盘分区的不同文件系统--NTRS、FAT 和FAT32--中加以选择。其中,NTFS是强力推荐您使用的文件系统,与FAT或FAT32相比,它具有更为强大的功能,并且包含Active Directory及其它重要安全特性所需的各项功能。只有选择NTFS作为文件系统,您才可以使用诸如Active Directory和基于域的安全性之类特性。 将FAT和NTFX格式相互转换: 使用系统转换命令CONVERT

FAT32转NTFS及失败解决方案

FAT32转NTFS及失败解决方案 一、FAT32转NTFS 在“运行”中输入“CMD”打开“命令提示符”窗口,输入:“CONVERT F: /FS:NTFS”,其中“F:”是分区盘符(要跟冒号),“/FS:NTFS”是把指定分区转换为NTFS格式。 如图1,转换失败!卷有不一致性,要求运行CHKDSK磁盘检查工具。既然如此,那就按要求运行CHKDSK命令。先运行“CHKDSK /?”查看该命令的帮助,从中了解到参数“/F”是“修复磁盘上的错误”,“/R”是“查找不正确的扇区并恢复可读信息(隐含/F)”。既然“/R”隐含“/F”,那直接使用“/R”参数就可以了。如图2,运行“CHKDSK F: /R”检查并修复F 盘。 图 1

图 2 除了使用CHKDSK这种DOS方式修复磁盘外,还可以使用WIN窗口方式,在需要修复的磁盘上点右键,选择“属性”,在其中“工具”选项中有“查错”这一功能,点击“开始检查”,在打开的“检查磁盘”窗口内,勾选中“自动修复文件系统错误”和“扫描并试图恢复坏扇区”,如图3,同样可以检查修复该磁盘。 图 3 检查修复所用时间根据磁盘中的文件数量而定,还好朋友磁盘中的文件不算太多,七八分钟就检测修复完成了,接下来再次运行“CONVERT F: /FS:NTFS”,如图4,转换成功。

图 4 二、NTFS转FAT32 Paragon Hard Disk Manager软件,可以轻松且安全的随意改变磁盘分区格式,并支持分区内的中文文件,看来这个值得一试! Paragon Hard Disk Manager 6.01.847 汉化版按默认选项安装在本机中,程序运行后的界面如图5,瞧!好多的功能!但那一项才是转换分区格式的?经过一番摸索,找到了分区格式互换的方法。

文件系统的移植

实验十一文件系统的移植 【实验目的】 熟悉Linux文件系统目录结构,创建自己的文件系统,通过NFS方式测试;用文件系统工具生成ramdisk文件系统映象文件。 【实验环境】 1、ubuntu 12.04发行版 2、FS4412平台 3、交叉编译器arm-none-linux-gnueabi-gcc 【实验步骤】 一、根文件系统制作 1、源码下载 我们选择的版本是busybox-1.22.1.tar.bz2下载路径为: https://www.360docs.net/doc/de16729100.html,/downloads/ 2、解压源码 $ tar xvf busybox-1.22.1.tar.bz2 3、进入源码目录 $ cd busybox-1.22.1 4、修改busybox顶层目录的Makefile 修改164 CROSS_COMPILE ?= 为164 CROSS_COMPILE ?= arm-none-linux-gnueabi- 修改190 ARCH ?= $(SUBARCH) 为190 ARCH ?= arm 5、配置busybox源码 $ make menuconfig Busybox Settings ---> Build Options ---> [*] Build BusyBox as a static binary (no shared libs)

[ ] Force NOMMU build [ ] Build with Large File Support (for accessing files > 2 GB) (arm-none-linux-gnueabi-)Cross C ompileprefix () Additional CFLAGS 6、编译 $ make 7、安装 busybox默认安装路径为源码目录下的_install $ make install 8、进入安装目录下 $ cd _install $ ls bin linuxrc sbin usr 9、创建其他需要的目录 $ mkdir dev etc lib mnt proc var tmp sys root 10、添加库 将工具链中的库拷贝到_install目录下 $ cp /home/linux/toolchain/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/lib/* ./lib -a 删除静态库,给共享库文件瘦身 $ rm lib/*.a $ arm-none-linux-gnueabi-strip lib/* (如果执行不成功,切换到root用户执行) 确保所有库大小不超过8M $ du -mh lib/ 11、添加系统启动文件 在etc下添加文件inittab,文件内容如下: #this is run first except when booting in single-user mode. ::sysinit:/etc/init.d/rcS # /bin/sh invocations on selected ttys

FAT32文件系统转NTFS文件系统教程及失败解决方案

FAT32文件系统转NTFS文件系统教程及失败解决方案 一、FAT32文件系统转NTFS文件系统 在“运行”中输入“CMD”打开“命令提示符”窗口,输入:“CONVERT F: /FS:NTFS”,其中“F:”是分区盘符(要跟冒号),“/FS:NTFS”是把指定分区转换为NTFS格式。 如图1,转换失败!卷有不一致性,要求运行CHKDSK磁盘检查工具。既然如此,那就按要求运行CHKDSK命令。先运行“CHKDSK /?”查看该命令的帮助,从中了解到参数“/F”是“修复磁盘上的错误”,“/R”是“查找不正确的扇区并恢复可读信息(隐含/F)”。既然“/R”隐含“/F”,那直接使用“/R”参数就可以了。如图2,运行“CHKDSK F: /R”检查并修复F 盘。 图 1

图 2 除了使用CHKDSK这种DOS方式修复磁盘外,还可以使用WIN窗口方式,在需要修复的磁盘上点右键,选择“属性”,在其中“工具”选项中有“查错”这一功能,点击“开始检查”,在打开的“检查磁盘”窗口内,勾选中“自动修复文件系统错误”和“扫描并试图恢复坏扇区”,如图3,同样可以检查修复该磁盘。 图 3 检查修复所用时间根据磁盘中的文件数量而定,还好朋友磁盘中的文件不算太多,七八分钟就检测修复完成了,接下来再次运行“CONVERT F: /FS:NTFS”,如图4,转换成功。 图 4

二、NTFS转FAT32 Paragon Hard Disk Manager软件,可以轻松且安全的随意改变磁盘分区格式,并支持分区内的中文文件,看来这个值得一试! Paragon Hard Disk Manager 6.01.847 汉化版按默认选项安装在本机中,程序运行后的界面如图5,瞧!好多的功能!但那一项才是转换分区格式的?经过一番摸索,找到了分区格式互换的方法。 图 5 首先在“Paragon Hard Disk Manager”窗口里,找到要转换分区格式的磁盘,如M盘,在其上点右键,选择“修改”菜单中的“转换”,在打开的“转换”窗口里,把“转换为”中的类型选为“FAT32”,如图6,然后点“确定”返回到“Paragon Hard Disk Manager”窗口,接下来再点击工具栏中的“更改”按键,打开如图7的“挂起更改”窗口,点击“应用”就开始转换分区类型了。随着进度条的不断刷新,很快就把NTFS格式转为FAT32了,如图8,转换成功。

嵌入式期末试题

一、单项选择题(每小题2分,共30分)得分:分 1、文件间可以建立两种链接关系:软链接和硬链接,硬链接特点是( C ) A. 等同于文件复制操作 B. 类似于文件复制,但新的链接文件并不占用文件磁盘存储空间 C. 删除源文件,将使其他链接文件失效 D. 可以对目录文件名建立硬链接 2、如果Boot Loader、内核、启动参数以及其他的系统映像四部分在固态存储设备上分别独立存放,则其存储结构的分配顺序应当是:( D )。 A. 文件系统、内核、启动参数、Bootloader B. 启动参数、Bootloader、内核、文件系统 C. Bootloader、内核、启动参数、文件系统 D. Bootloader、启动参数、内核、文件系统 3、在大多数Linux发行版本中,以下哪个属于块设备( B ) A. 串行口 B. 硬盘 C. 虚拟终端 D. 打印机 4、下面哪个命令行可用来马上重新启动正在运行的Linux系统( D ) A. restart --delay=0 B. reboot -w C. halt -p D. shutdown -r now 5、在Linux系统,默认的shell是什么( A ) A.bash B.ash C.csh D.gnush 6、下面哪条命令可用来确保文件“myfile”存在( B ) A. cp myfile /dev/null B. touch myfile C. create myfile D. mkfile myfile 7、 LILO的配置文件是:( B ) A. /etc/conf B. /etc/lilo.conf C. /proc/kcore D. /usr/local/ 8、用“useradd jerry”命令添加一个用户,这个用户的主目录是什么( A ) A./home/jerry B./bin/jerry C./var/jerry D./etc/jerry 第1页,共6页

基于STM32F407的FatFs文件系统在SD卡驱动上的移植

基于STM32F407的FatFs文件系统在SD卡驱动上的移植 2014-2-26 最近在做SD卡驱动,以前移植过efsl,觉得用的人不是很多,现在移植个FatFs,也跟上队伍。 第一步,保证SD卡底层驱动函数正确,包括SD卡初始化、SD扇区读写等。 第二步,下载FatFs源码,名为ff9b.zip,解压在src文件夹中可以得到diskio.c、ff.c、以及\option\cc936.c这三个源码文件,在STM32F407工程文件中创建FatFs文件夹,加入这几个源码以及相应头文件,并且在系统Include Path中加入这个文件夹的位置,以编译时找到其头文件。 第三步开始移植。diskio.c这个文件中定义了fatfs文件系统与硬件存储器之间的接口函数,供文件系统调用,包括disk_initialize、disk_status、disk_read、disk_write、disk_ioctl五个函数。ff.c中存放了FatFs文件操作的常用函数,包括文件以及文件夹的操作。cc936.c是简体汉字编码文件。 首先在ffconf.h中配置文件系统。将#define_CODE_PAGE 932 改为936以支持简体中文,原来默认支持日文,不知道为啥,莫非这个东东是日本人写的?先不研究。编译一下,发现如下错误: #if !_USE_LFN || _CODE_PAGE != 936 #error This file is not needed incurrent configuration. Remove from the project. #endif 其中宏定义_USE_LFN表明是否使用长文件名,修改为1,使用静态区BSS存储,最长文件名为255个字符。重新编译,发现有很多没有定义的函数,包括例如ATA_disk_initialize、 ATA_disk_status、ATA_disk_read、ATA_disk_write等,由于我们使用的介质是SD卡,删掉其他ATA、USB以及MMC相关的函数,只留下SD_disk_initialize、SD_disk_status、SD_disk_read、SD_disk_write、SD_disk_ioctl以及get_fattime这几个函数。 下面就逐步实现这几个函数。 disk_initialize,对应底层函数为SD_Init。 disk_status中简单让其返回0,表示成功。 disk_read可看出输入有四个参数值,分别为设备类型pdrv、数据缓存区指针buff、扇区地址sector以及扇区个数count。这可以看出disk_read一次可以读取多个扇区,在函数体内添加 for(cnt=0; cnt

FAT32卷转换为NTFS提示

[小易提示:尽管转换过程中出现损坏或数据丢失的可能性很小,我们还是建议您在开始转换之前,先对要转换的卷上的数据进行备份。] 要将现有的FAT 或FAT32 卷转换为NTFS,请按照下列步骤操作: 1. 单击“开始”,依次指向“所有程序”、“附件”,然后单击“命令提示符”。 2. 键入下面这个命令,然后按回车运行(x代表你的盘符,用你具体的盘符字母替换掉)。 convert x:/fs:ntfs 例如,将E盘转换为NTFS:convert E:/fs:ntfs

3. 当命令提示窗口中显示下面的消息时,键入要转换的驱动器的卷标,然后按回车键Enter: The type of the file system is FAT32 Enter current volume label for drive E: (文件系统类型为FAT,输入驱动器的当前卷标) 这里小小解释一下,字母C.D.E等等代表盘符;而盘符前面的文字,如“本地磁盘”(英文中,如new volume)就是卷标。 下面的截图,小易输入的是英文的卷标NEW VOLUME, 如果你使用的是中文操作系统,一般输入本地磁盘即可。可以直接在记事本中写上本地磁盘,然后复制粘贴到命令提示符中来^^~ 转换成功后,命令窗口会弹出提示:Conversion complete

最后退出命令提示符即可。 在转换过程中,如果命令窗口弹出错误信息: Convert cannot gain exclusive access to the drive letter drive, so it cannot convert it now.Would you like to schedule it to be converted the next time the system restarts? 说明要转换的盘正在使用中。我们可以在命令提示符中键入Y,在下次启动计算机的时候完成转换。 如果命令窗口弹出错误信息: Convert cannot run because the volume is in use by another process.Convert may run if this volume is dismounted first.ALL OPENED HANDLES TO THIS VOLUME WOULD THEN BE INVALID.Would you like to force a dismount on this volume? 说明要转化的磁盘上有正在被使用的文件。我们可以关闭相关应用程序,然后在命令提示符中键入Y 完成转换。 注意:转换成NTFS 有可能会带来一定麻烦。比如,如果电脑上装了两个系统,一个是Windows 98、Windows ME 这样早期的系统,老系统会认不出NTFS 的盘符。

嵌入式web服务器boa移植到mini2440开发板详细过程

嵌入式web服务器boa移植到mini2440开发板详细过程 1、概述 为了和开发板上用的httpd服务,我选用的服务器是boa,boa已经没有更新了,但是现在的应用仍然很大,当然更先进的AppWeb当然是更好的选择,不过学习应先从简单的入手。 本教程使用环境是Red Hat Enterprise Linux 6,交叉编译工具是arm-linux-gcc4.3.2,开发板是mini2440,开发板内核是2.6.32. 2、到https://www.360docs.net/doc/de16729100.html,/下载源码,boa最终版是0.94.13 3、解压文件 1)解压 [root@localhostopen_source]# ls boa-0.94.13.tar.gz [root@localhostopen_source]# tar -xvfboa-0.94.13.tar.gz -C ./ [root@localhostopen_source]# ls boa-0.94.13 boa-0.94.13.tar.gz 2)为了和X86版本区别把解压出来的文件夹boa-0.94.13重新命名为boa-0.94.13_arm [root@localhostopen_source]# mv boa-0.94.13 boa-0.94.13_arm 4. 编译前修改工作(主要是因为boa太久没有更新,目前相对说比较老,要修改下才能通过编译) 1)修改vicompat.h文件 [root@localhostopen_source]# ls boa-0.94.13_arm boa-0.94.13.tar.gz [root@localhostopen_source]# cd boa-0.94.13_arm/src/ [root@localhostsrc]# vicompat.h 找到 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff 修改成 #define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff 即将120行和126行的foo##->tm_gmtoff改为foo->tm_gmtoff 否则会出现错误: util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] 错误1 2)修改src/log.c 注释掉 if (dup2(error_log, STDERR_FILENO) == -1) { DIE("unable to dup2 the error log"); }

嵌入式linux系统移植试题-答案

嵌入式Linux系统移植试题(时间:60分钟) 一、单项选择题(每题2分,共40分) 1.嵌入式linux系统移植不包括(D) [A] bootloader [B] linux内核 [C] 根文件系统 [D] 应用程序 2.下列选项中符合gcc的编译流程的是( A ) [A] 预处理->编译->汇编->连接[B] 预处理->汇编->编译->连接 [C] 编译->预处理->汇编->连接 [D] 预处理->连接->汇编->编译 3.下列二进制工具哪个是丢弃目标文件的全部或者特定符号,减少文件体积的( D ) [A] size [B] as [C] nm [D] strip 4.下列二进制工具哪个是用来反汇编的(B) [A] nm [B] objdump [C] objcopy [D] string 5.下列二进制工具哪个是用来进行目标格式转换的(C ) [A] nm [B] objdump [C] objcopy [D] string 6.下列二进制工具哪个是用来把程序地址转换为文件名和行号的( D) [A] nm [B] objdump [C] objcopy [D] addr2line 7.FS4412开发平台上,uImage被解压到什么地址(B) [A] 0x [B] 0x [C] 0x [D] 0x43e00000 8.编译Linux内核设备树文件使用什么命令(D) [A] make dtbi [B] make tags [C] make dtb [D] make dtbs 9.linux要求bootloader在运行内核前,让系统进入何种模式(B) [A] user [B] svc [C] system 10.u-boot的命令中存放自启动命令的环境变量是(D) [A] ipaddr [B] bootargs [C] bootm [D] bootcmd 11.u-boot的命令中,设置环境变量的命令是(A) [A] setenv [B] printenv [C] tftp [D] bootm

基于AT91RM9200的U-Boot启动分析和移植

基于AT91RM9200的U-Boot启动分析和移植 周庆松,史小军 东南大学电子科学与工程学院,南京 (210096) E-mail:zhouqsong@https://www.360docs.net/doc/de16729100.html, 摘要:本文采用U-Boot构建嵌入式系统的引导加载程序,在对U-Boot的启动工作机理进行了简略分析后,针对基于AT91RM9200的目标板对U-Boot作了具体的修改和移植。应用结果表明,移植后的U-Boot在目标板上运行良好,可成功引导Linux内核。 关键词:U-Boot;移植;内核;AT91RM9200;嵌入式系统 1.引言 Bootloader代码是芯片复位后进入操作系统之前执行的一段代码,主要用于完成由硬件启动到操作系统启动的过渡[1]。一般,Bootloader基于特定硬件平台实现,不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置,因此需要修改源码来适合具体的嵌入式板级设备。 本文基于AT91RM9200的嵌入式目标板和U-Boot源码资源,分析了U-Boot的启动过程,介绍了U-Boot的移植方法和具体操作,最后讲述如何引导内核启动。 2.U-Boot简介 U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。他支持PowerPC、ARM、X86、MIPS等体系结构的上百种开发板;并且支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS;具有较高的可靠性和稳定性,已经成为功能最多、灵活性最强并且开发最积极的开放源码Bootloader。作为通用的BootLoader,U-Boot 可以方便的移植到其他硬件平台上[2]。 U-Boot移植一般都是针对嵌入式目标板的硬件资源,主要是CPU、FLASH 和SDRAM等情况,以尽可能一致的原则,在U-Boot源码中,找到一个与目标板为同一个或同一系列处理器的目标板模板,在此基础上再针对具体开发板对程序作相应的修改,比如不同型号存储芯片的初始化等。这里笔者选用U-Boot 1.1.2版本,该版本支持基于at91rm9200的处理器配置,并提供了一个目标板模板,即U-Boot源码下的board/at91rm9200dk模板。 3.U-Boot启动分析 在具体移植之前,先来了解一下U-Boot启动过程。U-Boot启动过程可以分成3个阶段[3]。 (1) 在Flash中运行汇编程序,进行基本硬件初始化,并将Flash中的启动代码复制到SDRAM中, 同时创造环境准备运行C程序; 汇编程序start.s是U-Boot启动后执行的第一个程序,它位于cpu/at91rm9200中,链接脚本board/at91rm920dk/u-boot.lds决定U-Boot的入口函数位于该程序中。上电后,处理器首先执行该程序,具体工作流程如图1所示。 (2) 跳转到SDRAM中执行,对硬件进行初始化,并向显示终端输出启动信息; start_armboot是U-Boot执行的第一个C语言函数,它位于lib_arm/board.c中,主要完成系统初始化工作,进入主循环,处理用户输入的命令。具体工作流程如图2所示。 全局变量结构体gd主要用来保存开发板信息、终端存在标志位、环境变量结构体起始地

相关文档
最新文档