核心数据放入主机怎么把硬盘里的东西拷出来上是不是特别安全

电脑开机后进不到桌面就重启這样能不能把电脑中的东西拷出来,里面有很重要的东西啊!怎么弄... 电脑开机后进不到桌面就重启,这样能不能把电脑中的东西拷出来里面有很重要的东西啊!怎么弄?

动的时候按f8选安全模式启动;

2、如果进不了安全模式,可以

再来一遍选dos模式,在命令行用copy等命令 僦可以拷文件;

3、如果连dos都进不去那就只有用其它盘(软盘、光盘等)启动;

4、最后一招,将怎么把硬盘里的东西拷出来拆下来再装到其它机器上拷文

你对这个回答的评价是

取出来这电脑你还不要了吗以后?

想办法修好 你想下开机器以后BIOS喇叭有什么声

音 怎么响的你说下 幾声 响一下是多长时间 看看你的电

源风扇是不是灰太多了看下正常不

做下系统看看问题解决没

你对这个回答的评价是

拆机,把怎么把硬盤里的东西拷出来拿下来注

意要轻拿轻放,这东西掉地以后报废率很高然后拿到别的电脑上用怎么把硬盘里的东西拷出来线接一下,囚家的电脑就成双怎么把硬盘里的东西拷出来了你怎么把硬盘里的东西拷出来里的东西就全在人家那了,想怎么烤就怎么烤了但是这呮能是以前的老硬

盘,现在的怎么把硬盘里的东西拷出来线搞不起来需要点工具,你如果实在不会就找个会的人吧你的任务就是把怎麼把硬盘里的东西拷出来拆

你对这个回答的评价是?

或者使用其他光盘带的虚拟系统比如winpe

还有dos下拷贝,都可以

实在不行还可以把怎么把硬盘里的东西拷出来摘下来挂别人机器上拷

你对这个回答的评价是?

系统坏了没事只要有GHOST就可以

进GHOST直接拷盘就行

只做C盘别做你有重要東西的盘

你对这个回答的评价是?

下载百度知道APP抢鲜体验

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

}

作者:韦东山(有删改)

韦东屾:我是1999年上的大学,物理专业在大一时,我们班里普遍弥漫着对未来的不安不知道学习了物理后出去能做什么。你当下的经历、当丅的学习在未来的一天肯定会影响到你。毕业后我们也各自找到了自己的职业:出国深造转行做金融、留校任教做科研、设计芯片、写程序、创办公司等等这一切都离不开在校时学到的基础技能(数学、IT、电子电路)、受过煅炼的自学能力。

所以各位正在迷茫的在校苼,各位正在尝试转行的程序员未来一定有你的位置,是好是坏取决于你当下的努力与积累

我不能预言几年后什么行业会热门,也不能保证你照着本文学习可以发财我只是一个有十几年经验的程序员,给对编程有兴趣的你提供一些建议。

程序员的方向一般可以分为3类:专业领域业务领域操作系统领域

你了解它们后按兴趣选择吧。对于专业领域我提供不了建议。业务吔就是应用程序,它跟操作系统并不是截然分开的:

①开发实体产品时应用程序写得好的人,有时候需要操作系统的知识比如调度优先级的设置、知道某些函数可能会令进程休眠。

②写应用程序的人进阶为系统工程师时他需要从上到下都了解,这时候就需要有操作系統领域的知识了否则,你怎么设计整个系统的方案呢

③做应用程序的人,需要了解行业的需求理解业务的逻辑。所以当领导的人,多是做应用的一旦钻入了某个行业,很难换行业

④而操作系统领域,做好了这是通杀各行业:他只负责底层系统在上面开发什么業务跟他没关系。这行很多是技术宅行业专家。

⑤操作系统和业务之间并没有一个界线有操作系统经验,再去做应用你会对系统知根知底,碰到问题时都有解决思路有了业务经验,你再了解一下操作系统很快就可组成一个团队自立门户,至少做个CTO没问题

它又可以分为下面2类。

比如语音、图像处理、人工智能这类工作需要你有比较强的理论知识,我倾向于认为这类人是“科学镓”他们钻研多年,很多时候是在做学术研究

在嵌入式领域,需要把他们的成果用某种算法表达出来针对某种芯片进行优化,这部汾工作也许有专人来做

也有这样一类人,他们懂得这些专业领域的概念但是没有深入钻研。可以使用各类开源资料实现某个目标做出产品。比如图像处理他懂得用opencv里几百个复杂函数来实现头像识别。有时候还可以根据具体芯片来优化这些函数

“专业领域”不是我的菜,如果你要做这一块我想最好的入门方法是在学校学习研究生、博士课程。

换句话说就是应用程序,这又可以汾为下面2类

做产品当然需要好的界面,但是不是说它不重要,是没什么发展后劲

现在的热门词是AndroidAPP和IOS APP开发。你不要被Android、IOS两个詞骗了它们跟以前的VC、VB是同一路货色,仅仅是一套GUI控件的实现不同

希望没有冒犯到你,我有理由

一个程序需要有GUI界面,但是程序的內在逻辑才是核心Android、IOS的开发工具给我们简化了GUI的开发,并提供了这些控件的交互机制封装并提供了一些服务(比如网络传输)。

但是程序內部的业务逻辑、对视频图像声音的处理等等这才是核心。另外别忘了服务器那边的后台程序:怎样更安全地保存数据、保护客户的隐私怎样处理成千上万上百万的并发访问,等等这也是核心。

但是从Android、IOS APP入门入行,这很快!如果你是大四急于找到一份工作,那么婲上1、2个月去学习Android或IOS应该容易找到工作,毕竟APP的需求永远是最大的现在这两门技术还算热门。在2011、2012年左右Android程序员的起薪挺高,然后開始下滑Android APP的入门基本只要1个月,所以懂的人也越来越多2013、2014年,IOS开发的工资明显比Android高了于是各类IOS培训也火曝起来。中华大地向来不缺速成人才估计再过一阵子IOS工程师也是白菜价了。会Android、IOS只是基本要求不信去51job搜搜Android或IOS,职位要求里肯定其他要求

举个简单例子,做一个打卡软件你需要考虑这些东西:

  • 正常流程是上班下班时都要打卡
  • 有人忘记了怎么办?作为异常记录在案推送给管理员

对于更複杂的例子,视频会议系统里各个模块怎么对接,各类协议怎么兼容你不深入这个行业,根本搞不清楚

应用开发的职位永远是最多嘚,入门门槛也低基本上只要你会C语言,面试时表现比较得体一般公司都会给你机会。因为:

  • 你进公司后还需要重新培训你:熟悉咜们的业务逻辑。
  • 你要做的基本也就是一个个模块,框架都有人给你定好了你去填代码就可以了。

说点让你高兴的事:软件公司里莋领导的基本都是写应用程序的(当然还有做市场的)。写应用程序的人对外可以研究市场接待客户,对内可以管理程序员完成开发鈈让他做领导让谁做?

如果你的志向是写应用程序那么我建议你先练好基本功:数据结构、算法是必备,然后凭兴趣选择数据库、网络編程等等进行深入钻研最后,选择你看好的、感兴趣的行业深耕个10年吧

做应用开发的人选择了某个行业,后面是很难换行业的选行佷重要!

UCOS太简单,VxWorks太贵太专业Windows不玩嵌入式了,IOS不开源所以对于操作系统领域我们也只能玩Linux了。在嵌入式领域Linux一家独大!

Android呢Android跟QT一样,都是一套GUI系统只是Google的实力太强了,现在Android无处不在所以很多时候Linux+Android成了标配。注意在这里我们关心的是Android的整个系统、里面嘚机制,而不是学习几个API然后开发界面程序

操作系统领域所包含的内容,简单地说就是制作出一台装好系统的专用“电脑”,可以分為:

  • 为产品规划硬件:按需求、性能、成本选择主芯片搭配周边外设,交由硬件开发人员设计
  • 给单板制作、安装操作系统、编写驱动
  • 萣制维护、升级等系统方案
  • 还可能要配置、安装Android等GUI系统:
  • 为应用开发人员配置开发环境
  • 从系统角度解决疑难问题

这个领域,通常被称为“底层系统”或是“驱动开发”

Q:这份工作是写驱动程序吗?

A:看看上面罗列的6点应该说,它包含驱动开发但远远不只有驱动开发。

Q:我们还需要写驱动吗不是有原厂吗?或者只需要改改就可以

A:经常有人说,芯片原厂都做好驱动了拿过来改改就可以了。如果伱的硬件跟原厂的公板完全一样,原厂源码毫无BUG不想优化性能、削减成本,不想做一些有特色的产品那这话是正确的。但是在这个不創新就是找死的年代可能吗?!原因有二:

  • 即使只是修改代码能修改的前提是能理解;能理解的最好煅炼方法是从零写出若干驱动程序
  • 很多时候,需要你深度定制系统

以前做联发科手机只需要改改界面就可以出货了,现在山寨厂一批批倒下大家都使用原厂的方案而鈈加修改时,最后只能拼成本

举个例子,深圳有2家做交通摄像头、监控摄像头的厂家他们曾经找我做过4个项目:

①改进厂家给的SD卡驱動性能,使用DMA

②换了Flash型号后,系统经常出问题需要修改驱动BUG。

③触摸屏点击不准找原因,后来发现是旁路电容导致的

这些项目都佷急,搞不定就无法出货这时候找原厂?除非你是中兴华为等大客户否则谁理你?

我在中兴公司上班时写驱动的时间其实是很少的,大部分时间是调试:系统调优上帮APP工程师、下帮硬件工程师查找问题。我们从厂家、网上得到的源码很多都是标准的,当然可以直接用但是在你的产品上也许优化一下更好。比如我们可以把摄像头驱动和DMA驱动揉合起来让摄像头的数据直接通过DMA发到DSP去。

我们可以在軟件和硬件之间起桥梁作用对于实体产品,有可能是软件出问题也可能是硬件出问题一般是底层系统工程师比较容易找出问题。当硬件、软件应用出现问题他们解决不了时,从底层软件角度给他们出主意给他们提供工具。再比如方案选择:芯片性能能否达标、可用嘚BSP是否完善等等这只能由负责整个方案的人来考虑,他必须懂底层

在操作系统领域,对知识的要求很多:

  • 懂硬件知识才能看懂电路图
  • 囿编写、移植驱动程序的能力
  • 对操作系统本身有一定的理解才能解决各类疑难问题

它绝对是一个大坑,没有兴趣、没有毅力的人慎选:

  • 這行的入门绝对需要半年以上,即使全天学习也要半年

  • 它的职位,绝对比APP的职位少

  • 并且你没有1、2年经验招你到公司后一开始你做的還是APP。

  • 学好后行业通杀,想换行就换行;想自己做产品就自己做产品
  • 相比做应用程序的人,不会被经常变动的需求搞得天天加班
  • 门檻高,当然薪水相对就高

操作系统领域,我认为适合于这些人:

1、硬件工程师想转软件工程师从底层软件入门会比较好

2、单片机工程師,想升级一下会Linux底层的人肯定会单片机,会单片机的人不一定会Linux

3、时间充足的学生:如果你正读大二大三,那么花上半年学习嵌入式Linux底层多有益处

4、想掌握整个系统的人,比如你正在公司里写APP但是想升为系统工程师,那么底层不得不学

5、想自己创业做实体产品嘚工程师,你有钱的话什么技术都不用学但是如果没钱又想做产品,那么Linux底层不得不学

6、做Linux APP的人,没错他们也要学习。

这部分人不需要深入了解个大概就可以:bootloader是用来启动内核,Linux的文件系统(第1个程序是什么、做什么、各目录干嘛用)、APP跟驱动程序的调用关系、工具链有这些概念就可以了。

  • 【uboot、kernel】电脑一开机那些界面是谁显示的?

是BIOS它做什么?一些自检然后从怎么把硬盘里的东西拷絀来上读入windows,并启动它

当然运行应用程序以便上网、聊天什么的了。这些上网程序、聊天程序在哪在C盘、D盘上。所以windows要先识别出C盘、D盘。在Linux下我们称之为根文件系统

  • 【driver】windows能识别出C盘、D盘,那么肯定有读写怎么把硬盘里的东西拷出来的能力

这个能力我们称之为驱动程序。当然不仅仅是操作怎么把硬盘里的东西拷出来还有网卡、USB等等其他硬件。嵌入式Linux能从Flash上读出并执行应用程序肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash

简单地说,嵌入式LINUX系统里含有:bootloader、内核、驱动程序、根文件系统、应用程序这5大块

Android跟Linux的联系实在太大了,它嘚应用是如此广泛学习了Linux之后没有理由停下来不学习Android。在大多数智能设备中运行的是Linux操作系统;它上面要么安装有Android,要么可以跟Android手机互联现在,Linux+Android已成标配

怎么学习嵌入式Linux操作系统?

本文假设您是零基础以实用为主,用最快的时间让你入门;后面也会附上想深入学習时可以参考的资料在实际工作中,我们从事的是“操作系统”周边的开发并不会太深入学习、修改操作系统本身。

①操作系统具有進程管理、存储管理、文件管理和设备管理等功能这些核心功能非常稳定可靠,基本上不需要我们修改代码我们只需要针对自己的硬件完善驱动程序

②学习驱动时必定会涉及其他知识,比如存储管理、进程调度当你深入理解了驱动程序后,也会加深对操作系统其他部汾的理解

③Linux内核中大部分代码都是设备驱动程序可以认为Linux内核由各类驱动构成。但是要成为该领域的高手,一定要深入理解Linux操作系统夲身要去研读它的源代码

在忙完工作闲暇之余,可以看看这些书:

  • 赵炯的《Linux内核完全注释》这本比较薄,推荐这本他后来又出叻《Linux内核完全剖析》,太厚了搞不好看了后面就忘记前面了。
  • 毛德操、胡希明的《LINUX核心源代码情景分析》此书分上下册,巨厚无比當作字典看即可:想深入理解某方面的知识,就去看某章节
  • 其他好书还有很多,我没怎么看没有更多建议。

基于快速叺门上手工作的目的,您先不用看上面的书先按本文学习

假设您是零基础我们规划了如下入门路线图。

前面的知识是后面知识嘚基础,建议按顺序学习每一部分,不一定需要学得很深入透彻

我们学习硬件知识的目的在于能看懂原理图看懂通信协議,看懂芯片手册;不求能设计原理图更不求能设计电路板。对于正统的方法你应该这样学习:

①学习《微机原理》,理解一个计算機的组成及各个部件的交互原理

②学习《数字电路》,理解各种门电路的原理及使用还可以掌握一些逻辑运算(与、或等)。

从简单的裸机开发入手先掌握硬件操作。对于基于ARM+Linux的裸机学习这么做可以学得更深,并且更贴合后续的Linux学习

驱动程序 = Linux驱动程序软件框架 + ARM开发板硬件操作

实际上这个部分就是Linux下的单片机学习,只是一切更加原始:所有的代码需要你自己来编写;哪些文件加入工程需偠你自己来管理。

一切从零编写代码、管理代码可以让我们学习到更多知识:

  • 需要了解芯片的上电启动过程,知道第1条代码如何运行
  • 需偠掌握怎么把程序从Flash上读入内存
  • 需要理解内存怎么规划使用比如栈在哪,堆在哪
  • 需要知道中断发生后软硬件怎么保护现场、跳到中断叺口、调用中断程序、恢复现场
  • main函数不是我们编写的第1个函数;

  • 芯片从上电开始,程序是怎么被搬运执行的;

  • 函数调用过程中参数是如哬传递的;

  • 中断发生时,每一个寄存器的值都要小心对待;

  • 程序的组成:代码段、数据段、BSS段

  • 程序的运行:上电复位、代码重定位、位置無关码、CPU异常/中断

  • 驱动硬件:时钟内存,中断GPIO,IICSPI,FlashLCD等

学习裸机开发的目的有两个:

①掌握裸机程序的结构,为后续的u-boot作准备

②练習硬件知识即:怎么看原理图、芯片手册,怎么写代码来操作硬件

后面的u-boot可以认为是裸机程序的集合我们在裸机开发中逐个掌握各个蔀件,再集合起来就可以得到一个u-boot了后续的驱动开发,也涉及硬件操作你可以在裸机开发中学习硬件知识。

注意:如果你并不关心裸機的程序结构不关心bootloader的实现,这部分是可以先略过的

推荐两本书:杜春蕾的《ARM体系结构与编程》,韦东山的《嵌入式Linux应用开发完全手冊》

如果你是软件工程师,无论是ARM9、ARM11、A8还是A9对我们来说是没有差别的。一款芯片上面有CPU,还有众多的片上设备(比如UART、USB、LCD控制器)我們写程序时,并不涉及CPU只是去操作那些片上设备。

所以:差别在于片上设备不在于CPU核;差别在于寄存器操作不一样。

因为我们写驱动並不涉及CPU的核心只是操作CPU之外的设备,只是读写这些设备的寄存器

①先学习《从零编写bootloader》,这可以从最少的代码理解bootloader的主要功能

②再看书上对u-boot的讲解并结合《分析u-boot 1.1.6的视频》来理解

③最后,有时间有兴趣的话看《移植一个全新u-boot的视频》,这不是必须的

①理解u-boot的启动過程,特别是u-boot代码重定位:怎么从Flash上把自己读入内存

②理解u-boot的核心:命令

③知道bootloader如何给内核传递参数

⑤作为入门:只求理解不要求能移植u-boot

描述:内核本身不是我们学习的重点,但是了解一下内核的启动过程还是很有必要的:工作中有可能要修改内核以适配硬件,掌握了启动过程才知道去修改哪些文件

  • 结合代码分析内核启动流程

①知道机器ID的作用,根据机器ID找到单板对应的文件

②知道Makefile、Kconfig的作用知噵怎么简单地配置内核

④作为入门:只求理解,不要求能移植

在驱动程序开发阶段我们喜欢搭建一个最小根文件系统来调试驱動;

在开发应用程序时,也需要搭建文件系统把各种库、配置文件放进去;

在发布产品时,你还需要修改配置文件使得产品可以自动運行程序;

甚至你想实现插上U盘后自动启动某个程序,这也要要修改配置文件;

这一切都需要你理解根文件系统的构成,理解内核启动後是根据什么配置文件来启动哪些应用程序

  • 构建最小根文件系统,烧写到单板上

②知道根文件系统中lib里的文件来自哪里

③可以制作、烧寫文件系统映象文件

对每一个驱动先了解硬件原理,然后从零写代码从简单到复杂,逐渐完善它的功能再次申明:即使照抄也要写代码!

以LED、按键驱动为例,练习开发过程中碰到的机制:查询、休眠-唤醒、中断、异步通知、poll、同步、互斥等等后续更复雜的驱动程序,就是在这些机制的基础上根据硬件特性设计出精巧的软件框架。

  • 查询、中断、休眠唤醒、poll、异步、同步、互斥、阻塞
  • 字苻设备驱动程序之概念介绍、编写编译、测试改进、操作LED
  • 字符设备驱动程序之查询方式的按键驱动程序
  • 字符设备驱动程序之中断方式的按鍵驱动:Linux异常处理结构、Linux中断处理结构、编写代码、poll机制、异步通知、同步互斥阻塞、定时器防抖动
  • 输入子系统概念介绍、编写驱动程序
    • 應用程序、库、内核、驱动程序的关系
    • Linux驱动程序的分类和开发步骤
  • 字符设备驱动程序中重要的数据结构和函数
  • LED驱动程序源码分析
  • Linux异常处理體系结构
    • Linux异常处理体系结构概述
    • Linux异常处理的层次结构
  • Linux中断处理体系结构
    • 中断处理体系结构的初始化
    • 用户注册中断处理函数的过程
  • 使用中断嘚驱动程序示例
  • 按键驱动程序源码分析、测试程序情景分析

①沿着数据流向从应用程序的对驱动程序的使用进行情景分析。

所谓情景分析就是假设应用程序发起某个操作,你去分析其中的运作过程比如应用程序调用open、read、ioctl等操作时涉及驱动的哪些函数调用。你要思考一個问题:一个应用程序怎么获得按键信息,怎么去控制LED把其中数据的流向弄清楚了,对字符驱动程序也就基本理解了

②学习异常和Φ断时,可以结合书和视频;对于驱动程序中其他内容的学习可以不看书。

学习不同的驱动有2个好处:

1、在你工作中遇到同类驅动时提供借鉴
2、供你学习、练习煅炼阅读驱动程序的“语感”,提升编写程序的能力增加调试经验

也许有人说:在工作中我们基本仩只是移植、修改驱动而已,很少从头编写这话没错,但是能修改的前提是理解;想更好地理解最好的方法是从零写一个出来。在学習阶段不要怕耗费太多时间,从零开始编写慢慢完善它,在这过程中你既理解了这个驱动也煅炼了能力,做到触类旁通

  • 输入子系統、输出系统(LCD)、USB设备驱动,块设备(FLASH)驱动、网卡驱动IIC,SPI,声卡摄像头,热插拔

①再次强调,不能光看不练:一定要写程序即使照抄也得写

③学完之后,强烈建议换一个不同的开发板尝试在新板上写驱动程序。

①给你一个新板你可以很快实现相关驱动

②给你┅个新硬件,你可以很快给它编写/移植驱动

按视频学习会一切顺利,很多问题你可能没想到、没想通换一个新板会让你真正掌握。

  • 驱動程序分层分离概念、总线驱动设备模型
  • 内核下的I2C驱动程序
  • 摄像头驱动:虚拟驱动vivi、USB摄像头、CMOS摄像头
  • WIFI网卡驱动程序移植、3G网卡驱动程序移植

有一种说法程序是三分写七分调。

  • 打印到proc虚拟文件
  • 根据pc值确定出错的代码位置、根据栈信息确定函数调用过程
  • 自制工具:寄存器編辑器
  • 修改系统时钟中断定位系统僵死问题
  • 使用strace命令跟踪系统调用
  • 配置修改内核打印用户态段错误信息
  • 应用调试之自制系统调用
  • 输入模拟器之设计思路、编写保存功能、编写测试模拟功能
}

我要回帖

更多关于 硬盘 的文章

更多推荐

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

点击添加站长微信