J'ai un vieux MacBook Pro 4,1 (début 2008) - mais je soupçonne qu'une réponse s'appliquerait à de nombreux MacBook Pros.
Il possède un contrôleur Intel IDE/SATA (ICH8M/ICH8M-E).
J'ai installé un MBR patché qui est censé mettre mon contrôleur en mode AHCI. Il le fait en définissant une valeur de port de contrôleur que je ne comprends pas.
Cela semble fonctionner car j'obtiens ceci de lspci :
00:1f.1 IDE interface: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 03)
Maintenant, la plupart des sites, peut-être tous, qui proposent une solution (activer AHCI) suggèrent qu'après un cycle de veille/réveil, un contrôleur reviendra en mode IDE en raison de la façon dont Apple prend en charge Windows.
Ils recommandent de désactiver le sommeil.
De l'auteur du patchedcode.bin je pense
Activer AHCI pour Windows sur les MacBooks
NB : Je n'ai pas installé Boot Camp et je n'ai pas installé Windows.
Existe-t-il un moyen de prouver que mon contrôleur est en mode IDE ou AHCI ?
Données de base
En utilisant le MBR patchedcode.bin, j'obtiens ceci dans le syslog :
Jun 12 22:33:22 max kernel: [ 1.860955] ahci 0000:00:1f.2: version 3.0
Jun 12 22:33:22 max kernel: [ 1.861052] ahci 0000:00:1f.2: irq 45 for MSI/MSI-X
Jun 12 22:33:22 max kernel: [ 1.861117] ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 3 ports 1.5 Gbps 0x1 impl SATA mode
Jun 12 22:33:22 max kernel: [ 1.861120] ahci 0000:00:1f.2: flags: 64bit ncq sntf pm led clo pio slum part ccc ems
Jun 12 22:33:22 max kernel: [ 1.861130] ahci 0000:00:1f.2: setting latency timer to 64
Jun 12 22:33:22 max kernel: [ 1.880880] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
Jun 12 22:33:22 max kernel: [ 1.880983] scsi2 : ahci
Jun 12 22:33:22 max kernel: [ 1.884552] scsi3 : ahci
Jun 12 22:33:22 max kernel: [ 1.886932] scsi4 : ahci
Jun 12 22:33:22 max kernel: [ 1.886998] ata3: SATA max UDMA/133 abar m2048@0xdb504000 port 0xdb504100 irq 45
Jun 12 22:33:22 max kernel: [ 1.887000] ata4: DUMMY
Jun 12 22:33:22 max kernel: [ 1.887002] ata5: DUMMY
Jun 12 22:33:22 max kernel: [ 2.204103] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
Jun 12 22:33:22 max kernel: [ 2.204656] ata3.00: ATA-8: FUJITSU MHY2200BH, 0081000D, max UDMA/100
Jun 12 22:33:22 max kernel: [ 2.204662] ata3.00: 390721968 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
Jun 12 22:33:22 max kernel: [ 2.205324] ata3.00: configured for UDMA/100
Jun 12 22:33:22 max kernel: [ 2.205554] scsi 2:0:0:0: Direct-Access ATA FUJITSU MHY2200B 0081 PQ: 0 ANSI: 5
En utilisant mon MBR original, j'obtiens ceci de syslog :
Jun 13 18:07:13 max kernel: [ 0.622861] ata_piix 0000:00:1f.1: version 2.13
Jun 13 18:07:13 max kernel: [ 0.622869] ata_piix 0000:00:1f.1: power state changed by ACPI to D0
Jun 13 18:07:13 max kernel: [ 0.622924] ata_piix 0000:00:1f.1: setting latency timer to 64
Jun 13 18:07:13 max kernel: [ 0.623339] scsi0 : ata_piix
Jun 13 18:07:13 max kernel: [ 0.623730] scsi1 : ata_piix
Jun 13 18:07:13 max kernel: [ 0.623765] ata1: PATA max UDMA/100 cmd 0x8108 ctl 0x811c bmdma 0x80e0 irq 21
Jun 13 18:07:13 max kernel: [ 0.623767] ata2: PATA max UDMA/100 cmd 0x8100 ctl 0x8118 bmdma 0x80e8 irq 21
Jun 13 18:07:13 max kernel: [ 0.623810] ata_piix 0000:00:1f.2: MAP [
Jun 13 18:07:13 max kernel: [ 0.623811] P0 -- -- -- ]
Jun 13 18:07:13 max kernel: [ 0.623866] ata_piix 0000:00:1f.2: setting latency timer to 64
Jun 13 18:07:13 max kernel: [ 0.624241] scsi2 : ata_piix
Jun 13 18:07:13 max kernel: [ 0.624558] scsi3 : ata_piix
Jun 13 18:07:13 max kernel: [ 0.624862] ata3: SATA max UDMA/133 cmd 0x80f8 ctl 0x8114 bmdma 0x8020 irq 18
Jun 13 18:07:13 max kernel: [ 0.624865] ata4: SATA max UDMA/133 cmd 0x80f0 ctl 0x8110 bmdma 0x8028 irq 18
Jun 13 18:07:13 max kernel: [ 1.208879] ata3.00: ATA-8: FUJITSU MHY2200BH, 0081000D, max UDMA/100
Jun 13 18:07:13 max kernel: [ 1.208882] ata3.00: 390721968 sectors, multi 16: LBA48 NCQ (depth 0/32)
Jun 13 18:07:13 max kernel: [ 1.208961] ata1.01: ATAPI: MATSHITA DVD+/-RW UJ-867S, 1.00, max UDMA/33
Jun 13 18:07:13 max kernel: [ 1.216186] ata3.00: configured for UDMA/100
Jun 13 18:07:13 max kernel: [ 1.224396] ata1.01: configured for UDMA/33