在指定镜像文件中找不到符合要求的 Ghost 映像文件是怎么回事啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在指定镜像文件中找不到符合要求的 Ghost 映像文件是怎么回事啊?相关的知识,希望对你有一定的参考价值。

首先,镜像文件类似于一个压缩文件,如图:

其次,需要将ISO文件解压,解压完成之后,打开文件夹,在文件夹里面就可以找到GHO文件了。

扩展资料

映像文件是将资料和程序结合而成的文件,它将来源资料经过格式转换后在硬盘上存成与目的光盘内容完全一样的文件,然后我们可以将这个文件以一比一对应的方式刻入光盘中。

在制作映像文件之前建议先做硬盘的资料重整与磁盘扫描,除此之外,由于一个映像文件的大小相当于刻入光盘的全部内容,所以一定要预留超过这个容量的硬盘空间来存储这个映像,其后缀是gho。

ISO是镜像文件:所谓镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个测试版的操作系统、游戏等。

镜像文件不仅具有ZIP压缩包的“合成”功能,它最重要的特点是可以被特定的软件识别并可直接刻录到光盘上。其实通常意义上的镜像文件可以再扩展一下,在镜像文件中可以包含更多的信息。

比如说系统文件、引导文件、分区表信息等,这样镜像文件就可以包含一个分区甚至是一块硬盘的所有信息。

使用这类镜像文件的经典软件就是Ghost,它同样具备刻录功能,不过它的刻录仅仅是将镜像文件本身保存在光盘上,而通常意义上的刻录软件都可以直接将支持的镜像文件所包含的内容刻录到光盘上。

参考资料:

ghost文件.百度百科

参考技术A

1.首先,镜像文件类似于一个压缩文件,如图:

2.其次,需要将ISO文件解压,解压完成之后,打开文件夹,在文件夹里面就可以找到GHO文件了。

模拟器在内核映像文件中找不到“Linux 版本”字符串

【中文标题】模拟器在内核映像文件中找不到“Linux 版本”字符串【英文标题】:Emulator can't find 'Linux version ' string in kernel image file 【发布时间】:2017-08-22 16:37:28 【问题描述】:

我正在为 Nexus Player 构建 AOSP,编译成功后我尝试运行模拟器,收到的消息是:

模拟器:错误:在内核映像中找不到“Linux 版本”字符串 文件:/home/mita/Work/Nexus/out/target/product/fugu/kernel

我找不到任何关于此的信息,请有人帮忙。

完整的输出是:

模拟器:找到 ANDROID_PRODUCT_OUT:/home/mita/Work/Nexus/out/target/product/fugu 模拟器:找到构建 目标架构:x86 模拟器:寻找 emulator-x86 来模拟 'x86' CPU 模拟器:探测程序:./emulator64-x86 模拟器:探测 程序:./emulator-x86 模拟器:探测路径:emulator64-x86 模拟器:返回结果: /home/mita/Work/Nexus/prebuilts/android-emulator/linux-x86_64/emulator64-x86 模拟器:找到特定于目标的模拟器二进制文件: /home/mita/Work/Nexus/prebuilts/android-emulator/linux-x86_64/emulator64-x86 模拟器:GPU 模拟已禁用 模拟器:正在运行 :/home/mita/Work/Nexus/prebuilts/android-emulator/linux-x86_64/emulator64-x86 模拟器:qemu 后端:argv[00] = “/home/mita/Work/Nexus/prebuilts/android-emulator/linux-x86_64/emulator64-x86” 模拟器:qemu 后端:argv[01] = "-verbose" 模拟器:连接 后端参数: /home/mita/Work/Nexus/prebuilts/android-emulator/linux-x86_64/emulator64-x86 -verbose 模拟器:找到 Android 构建根目录:/home/mita/Work/Nexus 模拟器:找到 Android 构建: /home/mita/Work/Nexus/out/target/product/fugu 模拟器:读取属性 文件在 /home/mita/Work/Nexus/out/target/product/fugu/system/build.prop 模拟器:找不到启动属性文件: /home/mita/Work/Nexus/out/target/product/fugu/boot.prop

模拟器:找到目标 API sdkVersion:25

模拟器:虚拟设备没有配置文件 - 没问题模拟器: 使用核心硬件配置路径: /home/mita/Work/Nexus/out/target/product/fugu/hardware-qemu.ini 模拟器:找到特定于皮肤的hardware.ini: /home/mita/Work/Nexus/development/tools/emulator/skins/HVGA/hardware.ini 模拟器:自动配置:-skin HVGA 模拟器:自动配置:-skindir /home/mita/Work/Nexus/development/tools/emulator/skins 模拟器:找到 皮肤特定的hardware.ini: /home/mita/Work/Nexus/development/tools/emulator/skins/HVGA/hardware.ini 模拟器:键集加载自:/home/mita/.android/default.keyset 模拟器:尝试加载皮肤文件 '/home/mita/Work/Nexus/development/tools/emulator/skins/HVGA/layout' 模拟器:皮肤网络速度:'full' 模拟器:皮肤网络延迟: “无”模拟器:自动配置:-kernel /home/mita/Work/Nexus/out/target/product/fugu/内核模拟器:目标 arch = 'x86' 模拟器:自动配置:-qemu -cpu qemu32 模拟器:错误: 在内核映像文件中找不到“Linux 版本”字符串: /home/mita/Work/Nexus/out/target/product/fugu/kernel

【问题讨论】:

您使用哪个命令进行编译?您还可以发布 /home/mita/Work/Nexus/out/target/product/fugu/ 中可用的文件列表吗? 抱歉没有回答。我刚刚发布了问题的解决方案,但如果您需要,这里是文件: 2ndbootloader installed-files.txt recovery.id android-info.txt kernel recovery.img boot.img module-info.json root build_fingerprint.txt obj符号 clean_steps.mk previous_build_config.mk 系统数据 ramdisk.img system.img dex_bootjars ramdisk-recovery.img gen recovery 【参考方案1】:

我遇到了这个错误,原因是我的模拟器运行的是旧版本。我去了 SDK Manager 并更新了 Android Emulator

Tools > SDK Manager > SDK Tools > Android Emulator > Mark it checked to force update > Accept

在此之后,模拟器运行正常

【讨论】:

要从命令行更新,请转到< Android Sdk dir >/cmdline-tools/latest/bin 并运行./sdkmanager --update。这会将所有软件包更新到最新版本。注意:< Android Sdk dir > 通常是~/Android/Sdk【参考方案2】:

请参阅上面的@voghDev 答案,

工具 > SDK 管理器 > SDK 工具 > Android 模拟器 > 将其标记为选中 强制更新 > 接受

【讨论】:

【参考方案3】:

我也遇到了这个错误,原因是我的模拟器运行的是旧版本。我去了 SDK Manager 并更新了 Android Emulator

我按照@voghdev的步骤进行

Tools > SDK Manager > SDK Tools > Android Emulator > Mark it checked to force update > Accept

还要确保有足够的空间供模拟器运行。

它需要大约 8GB 的​​磁盘空间。

在此之后,模拟器运行正常

【讨论】:

【参考方案4】:

工具 SDK 管理器 SDK 工具..

这里遵循一个简单的技巧。

    如果 (Android Emulator)CheckBox 已被选中。 取消选中该复选框。 申请 好的 再次打开TOOLS-->SDK MANAGER-->SDK TOOLS 检查 Android Emulator CheckBox

默认情况下,此旧设置将被删除。 模拟器的新设置将可用。

enter image description here

【讨论】:

【参考方案5】:

检查您的 Android SDK 设置 -> SDK 工具 启用 HAXM 安装程序(如果您有 Intel) like here

它帮助了我,祝你好运!

【讨论】:

【参考方案6】:

只需转到工具 > SDK 管理器 > SDK 工具 并更新您选择的选项下可用的内容。

它可以做很多事情:

Android SDK Build-Toolsxxx Android 模拟器 英特尔 x86 仿真器加速器(HAXM 安装程序)

【讨论】:

【参考方案7】:

我在构建 AOSP 然后从同一个终端启动模拟器时遇到了类似的问题

OP 的后期发布,但我希望这有助于其他人为早期版本的 AOSP 构建(OP 为 API 25 发布构建)。

问题:

我相信您知道,要配置 AOSP 构建,您需要运行:

    $ . build/envsetup.sh $ lunch(然后选择您的构建目标)

envsetup.sh 中,如果您查看function lunch() 的底部附近,则会调用set_stuff_for_environment。在function set_stuff_for_environment() 内,有一个对setpaths 的调用。

function setpaths(),顾名思义,为您的 AOSP 构建添加了一些路径到 $PATH 变量以正确运行。添加到$PATH 的路径之一是与AOSP 打包的emulator 命令的一个版本。

由于 AOSP 模拟器的路径将首先在您的 $PATH 中找到,因此在运行 $ emulator 时,系统将使用 emulator 的 AOSP 版本,而不是您的 Android Sdk 版本的 emulator

简而言之,当您从命令行运行$ lunch 运行$ emulator 时,您将运行emulator 的AOSP 版本,它与任何版本的您正在构建的 AOSP。 (在我的例子中,它是旧版本的 AOSP)

解决方案:

除了正确指出您需要更新 Android Sdk 中的模拟器版本的其他答案之外,您还需要确保从 Android Sdk 路径而不是从 AOSP 运行 emulator 命令模拟器路径。

要快速检查,您可以使用$ which emulator。这将显示运行 $ emulator 时将运行的命令的完整路径

“正确”的路径应该是这样的:

/home/user-name/Android/Sdk/emulator/emulator

运行$ lunch 后,路径将显示为:

/home/user-name/aosp-home-dir/prebuilts/android-emulator/<target>/emulator

TL;DR

如果您从构建 AOSP 的同一终端运行 $ emulator,请尝试从新终端运行 $ emulator。另外,您应该使用$ which emulator确认emulator命令的路径。

$ which emulator 应该指向< Android Sdk dir >/emulator/emulator 的模拟器位置,不是模拟器的 AOSP 版本。

注意:< Android Sdk dir > 通常安装到 ~/Android/Sdk

【讨论】:

【参考方案8】:

回答我自己的问题:

如果您为 fugu - Nexus Player 构建进行编译,则无法在模拟器上运行构建。

【讨论】:

以上是关于在指定镜像文件中找不到符合要求的 Ghost 映像文件是怎么回事啊?的主要内容,如果未能解决你的问题,请参考以下文章

ghost后的gho镜像文件太大超出刻盘要求

点击IE游览器显示找不到映像文件中指定的资源语言标识McShield

怎么删除c盘里的硬盘映像文件啊?

找不到映像文件中指定的资源类型 GetLastError 1813

点击IE游览器显示找不到映像文件中指定的资源语言标识McShield

模拟器在内核映像文件中找不到“Linux 版本”字符串