强制 ICH7-M AHCI 模式在 Linux 中使用 grub2 和 setpci,但在 Windows 中不起作用

强制 ICH7-M AHCI 模式在 Linux 中使用 grub2 和 setpci,但在 Windows 中不起作用

这是我的第一篇帖子,如果我发错了地方或者我的帖子被认为不合适,请原谅我。我在为我的 Sony VAIO VPCW12J1E、32 位、双启动 Debian Sid / Windows 7 Starter(标准 MBR - 没有 GPT、没有 EFI、没有 UEFI)添加 SSD 磁盘后,从众多 Mac 用户论坛中借鉴了这个想法。
上网本配备了严重损坏的 Phoenix BIOS,缺少将芯片组设置为 AHCI 模式的选项(请参阅我的帖子这里例如)。 Debian 已经安装在 IDE 模式下,并且initramfs 工具包,一切都很简单:

  1. nano /etc/initramfs-tools/modules- 在文件末尾添加第一行以加载模块系统控制第二行是模块利巴赫奇
  2. nano /etc/initramfs-tools/conf.d/driver-policy- 从 改变模块=dep模块=列表
  3. 然后重新生成你的 initrd 映像 -update-initramfs -u -k alllsinitramfs /boot/initrd.img-'uname -r' | grep -i ahci确保所需的模块已到位;
  4. nano /etc/grub.d/40_custom- 编写自定义菜单项并且,紧接着最后一行初始化文件/initrd.img写吧设置pci -s 0:1f.2 90.b=40然后用}象征;
  5. 然后update-grub;
  6. 最后再说一遍update-initramfs -u -k all

重新启动,选择您的自定义菜单项,在 AHCI 模式下使用 SSD 享受 Debian(参见附件 #1在我的 Google Drive 上)。

Windows 的情况则不同,之前的魔法字符串本身并不够,事实上,它阻止系统看到 SSD 磁盘 - 因此它无法启动。但我相信官方数据表可以翻译成其他设定pci字符串。我可以提供 ICH7-M 在 IDE 和 AHCI 模式下的整个 PCI 配置空间,以获得差异(请参阅附件 #2),但我需要很多帮助才能将差异翻译成正确的字符串。

编辑

例如,关注帖子#7这里,我尝试过grub4dos,从 MS-DOS 软盘(我有一个 USB 软盘驱动器)使用 DJGPP 编译的 setpci这里- 跟踪 ICH7-M 的 Linux lspci 转储中的各种偏移值,首先将其置于 IDE 模式,然后置于 AHCI 模式,但仍然无济于事:
setpci 按照我的意愿更改了偏移值,但甚至没有grub4dos可以识别 SSD:
加载几分钟后,它会在grub>控制台中结束,然后ls (hd0,0)挂起(而grub4dos软盘单独使用,控制器卡在 IDE 中,就可以按预期启动 Windows)。
以下是图片不同的 IDE - AHCI,以及自动执行命令我从 DOS 启动。
我进入了未知领域,如果我没有犯错,我开始认为我的 BIOS 修改无法通过这种方式工作。

相关内容