联想服务器RD640硬盘不见了

系统崩了,想重装系统,进PE后检测不到硬盘,驱动也是正常的。

重装系统或者进入bios重置硬盘

【相关推荐】



  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7765280
  • 这篇博客你也可以参考下:通用微PE工具箱下载_通用微PE使用教图文程
  • 除此之外, 这篇博客: PE-64位-重定位表-读取解析-保存修改-代码中的 2.重定位表的结构与解析 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      在系统中的定义,如下所示:

    typedef struct _IMAGE_BASE_RELOCATION {
        DWORD   VirtualAddress;//4字节
        DWORD   SizeOfBlock;//4字节
    //  WORD    TypeOffset[1];
    } IMAGE_BASE_RELOCATION;
    typedef IMAGE_BASE_RELOCATION UNALIGNED * PIMAGE_BASE_RELOCATION;
    

      该结构体有两个成员:一个是地址,一个是大小。一个重定位表的字节数由SizeOfBlock表示,(不同块的SizeOfBlock大小不一)。每一个块记录了1000H即4KB大小的内存中需要重定位信息的地址(一页大小),这些地址以VirtualAdress为该页的基址,偏移地址占两个字节(1000H最多需要12bit即可:0~FFFH)。所以两个字节的低12位为偏移地址,而高4位就是一个标记,当此标记为0011(3)时低12为才有效,否则该2个字节可能是为了对齐而产生的,并且为对齐而产生的字节其值全为0,在64位系统中,这个值为10由于重定位表的SizeOfBlock大小不确定,新的Block的重定位信息的结构体接着上一个Block,4字节对齐后开始,而当出现一个_IMAGE_BASE_RELOCATION结构体的值全为0时,表明重定位表结束。
      这里只提出一部分比较短的Block信息,可以很明显地看到当需要重定位信息的记录长度是4Byte的倍数时,不存在高四位为0000的情况,当其不为4的倍数时,就有一个因对齐而产生的数据。
      在SizeBlock后面紧跟着的就是一个TypeOffset数组,一个大小是2字节,其中高4位代表修正的类型,低12位是修正的偏移。它的大小与VirtualAddress相加就是要修正的RVA地址。当出现一个_IMAGE_BASE_RELOCATION结构体的值全为0时,表明重定位表结束。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^