1

This is my first post, forgive me if I am in the wrong place or if my post is considered inappropriate. I have borrowed the idea from numerous Mac user forums, after I added a SSD disk to my Sony VAIO VPCW12J1E, 32bit, dual booting Debian Sid / Windows 7 Starter on standard MBR - no GPT, no EFI, no UEFI.
The netbook is equipped with a heavily mutilated Phoenix BIOS, which lacks the option to set the chipset in AHCI mode (see my post here for example). With Debian already installed in IDE mode, and initramfs-tools package, it's all quite simple:

  1. nano /etc/initramfs-tools/modules - at the end of the file, add a first line to load the module ahci and a second line for the module libahci ;
  2. nano /etc/initramfs-tools/conf.d/driver-policy - change from MODULES=dep to MODULES=list ;
  3. then regenerate yours initrd images - update-initramfs -u -k all and lsinitramfs /boot/initrd.img-'uname -r' | grep -i ahci just to be sure that the needed modules are in place;
  4. nano /etc/grub.d/40_custom - write a custom menuentry and, immediately after the last line initrd /initrd.img just write setpci -s 0:1f.2 90.b=40 and then close the stanza with the } symbol;
  5. then update-grub ;
  6. and lastly again update-initramfs -u -k all .

Reboot, choose your custom menuentry, enjoy Debian with SSD in AHCI mode (see attachment #1 on my Google Drive).

With Windows is another story, the previous magic string does not suffice alone and indeed, it prevents the system from seeing the SSD disk - so it does not boot. But I believe the SATA settings mentioned in the official datasheet can be translated into other setpci strings. I can provide whole PCI configuration space of my ICH7-M in IDE and AHCI mode to get a diff (see attachment #2) but I would need a lot of help translating the differences into the right strings.

edit

Following for example post #7 here, I tried with grub4dos, from an MS-DOS floppy (I have a USB floppy drive) with a setpci compiled with DJGPP from here - tracing the various values of the offsets from the linux lspci dump of the ICH7-M put first in IDE mode and then in AHCI mode, but still to no avail:
setpci changes the offset values as I would like, but not even grub4dos can identify the SSD:
after a few minutes from loading, it ends in the grub> console, and then ls (hd0,0) just hangs (while grub4dos floppy alone with controller stuck in IDE just boots Windows as expected).
Here is a picture of the diff IDE - AHCI, and the autoexec commands I issued from DOS.
I move into uncharted territory, and if I have not made mistakes in my attempt, I begin to think that my BIOS mutilations are not workable this way.

4
  • Old post, and one which assumes BIOS firmware to set AHCI mode, but .... superuser.com/questions/954317/win7-turning-on-ahci
    – Hennes
    Commented Jun 14, 2022 at 22:48
  • Old enough not to use an answer, but in a nutshjel. Try boot in IDE mode, If they works regedit "HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlset / Services / msahci" to start. Shutdown. Put AHCI mode back in grub2. Boot and pray.
    – Hennes
    Commented Jun 14, 2022 at 22:52
  • Thank you @Hennes for your reply. I've already applied Mom's advice to Windows, but it stays stuck in IDE mode, because by imparting only the string setpci -s 0:1f.2 90.b=40 boot fails with "error: attempt to read or write outside of disk 'hd0'." - if I omit the string, the chipset in IDE is and in IDE it remains - that's why I think there is a need for more setpci strings, which unfortunately I don't know how to write. Commented Jun 15, 2022 at 15:38
  • To be more precise, a correctly sorted and well populated list of setpci strings - something like the three scripts mentioned circa middle of page at post#7 (which still don't work for me in the original form) but entering the data of my Sony. Commented Jun 15, 2022 at 22:03

0

You must log in to answer this question.

Browse other questions tagged .