Jump to content

impossible d'accéder à ma partiton EFI


stitch2k9
 Share

30 posts in this topic

Recommended Posts

la partition EFI du disque ou ce trouve snow leopard apparait partout meme dans l utilitaire de disque comme si c'etait une partition que j ai créé .

quand je fait diskutil list c'est bizar regarde:

 

p5q-deluxe-de-tony:~ tony$ diskutil list
/dev/disk0
  #:					   TYPE NAME					SIZE	   IDENTIFIER
  0:	  GUID_partition_scheme						*465.8 Gi   disk0
  1:						EFI						 200.0 Mi   disk0s1
  2:				  Apple_HFS Macintosh HD			159.0 Gi   disk0s2
  3:				  Apple_HFS Macintosh DATA		  306.3 Gi   disk0s3
/dev/disk1
  #:					   TYPE NAME					SIZE	   IDENTIFIER
  0:	  GUID_partition_scheme						*232.9 Gi   disk1
  1:				  Apple_HFS EFI					 200.0 Mi   disk1s1
  2:				  Apple_HFS snow leopard			100.3 Gi   disk1s2
  3:				  Apple_HFS data save			   93.0 Gi	disk1s3
  4:				  Apple_HFS save appli			  39.0 Gi	disk1s4

Link to comment
Share on other sites

Phase 1: Reformatting the EFI System Partition.

 

1) Open Terminal

 

2) sudo -s (and type in your password)

 

3) diskutil info / | grep Identifier - this tells you the values for diskXsY for '/', which is the currently-booted system. (If you're doing this on a disk other than the one you've booted from, you need to modify accordingly.)

 

4) diskutil list - diskXs1 should be called EFI. this is the hidden EFI partition on your target drive.

 

5) diskutil eraseVolume "HFS+" "EFI" /dev/diskXs1 - now, be *VERY* sure this is the correct drive. this will format the EFI partition as HFS+. (NB After erasing it will try to mount it, but will fail with "Could not mount disk0s1 with name after erase". Ignore this).

 

Phase 2: Installing the modified bootloader.

 

1) Extract the attached zip file to a directory (Safari might do this for you).

 

2) in terminal, cd to that directory (the one containing boot0, boot1h, boot-turbo-munky.bin and fdisk)

 

3) ./fdisk -f boot0 -u -y /dev/rdiskX - this puts the stage 0 bootloader onto the target disk

 

4) dd if=boot1h of=/dev/rdiskXs1 - this puts the stage 1 bootloader onto the target partition (EFI partition)

 

5) mkdir /Volumes/EFI

 

6) mount_hfs /dev/diskXs1 /Volumes/EFI

 

7) cp boot-turbo-munky.bin /Volumes/EFI/boot

 

8) cp update.sh /Volumes/EFI/

 

Phase 3: Make the disk bootable

 

This stage may not be necessary on some boards, but on my Intel board and Bad Axe boards it is. If you skip this step and your system wont boot, try doing it. That said, doing this on boards which DONT need it will do no harm so my logic is do it anyway.

 

Type the fdisk command and then each line as shown:

 

1) ./fdisk -e /dev/rdiskX (NB: Ignore any fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory error)

 

2) f 1

 

3) w

 

4) q

 

Phase 4: Setup your new bootloader EFI partition

 

1) Setup directory tree:

 

mkdir -p /Volumes/EFI/System/Booter

mkdir /Volumes/EFI/Extensions

mkdir /Volumes/EFI/.fseventsd

 

2) touch /Volumes/EFI/.fseventsd/no_log - this prevents the File System Events Daemon (fseventsd) from logging on this volume, which can cause the EFI partition to become unmountable.

 

3) copy necessary extensions into /Volumes/EFI/Extensions (eg:

 

cd <directory containing kexts>

cp -R *.kext /Volumes/EFI/Extensions)

 

4) if necessary, copy patched kernel into /Volumes/EFI/ (eg:

 

cd <directory containing the wonderful Voodoo kernel)

cp mach_kernel.voodoo /Volumes/EFI/

 

5) cd /Volumes/EFI

chmod +x update.sh

sudo ./update.sh - this will build a kextcache in /System/Booter. Please check update.log for any errors. (Dependency warnings are ok and normal - the dependencies will be available at boot time from /System/Library/Extensions).

 

6) umount /Volumes/EFI (If this fails, do umount -f /Volumes/EFI).

 

7) rm -rf /Volumes/EFI

 

8) If your machine cannot use the vanilla kernel, at this point you must take a note of your install's UUID. Open Disk Utility.app and click on the partition containing your fresh install. Click the blue 'I' information icon and look for Universal Unique Identifier. This should be a fairly long hex string. Write this down somewhere on a piece of paper. (not in a text file on the computer!)

 

You should be ready to boot at this stage.

 

Phase 5: Test boot!

 

So this differs slightly depending on whether you have a Core cpu or not - that is, whether you can (or choose to) run the vanilla kernel or a patched kernel.

 

If you boot the vanilla kernel, you should just have to press Return, as the bootloader should find your installed OS.

 

If you boot a patched kernel, the magic you need is this:

 

bt(0,0)/mach_kernel.voodoo -v boot-uuid=<the install's uuid you wrote down earlier>.

 

With a bit of luck, you'll boot up into your nice shiny new Leopard install, and be able to use Software Update without worrying.

 

 

Phase 6: Post-Install - Kexts, EFI strings, Boot.plist, Troubleshooting

 

Kexts:

 

So you booted back up, but you maybe dont have gfx support, or are missing some nice LAN kext... To mount EFI:

 

sudo -s

mkdir /Volumes/EFI

mount_hfs /dev/diskXs1 /Volumes/EFI

 

to install new kexts:

 

sudo -s

cd path/to/kext

cp -R Blah.kext /Volumes/EFI/Extensions

cd /Volumes/EFI

./update.sh

 

 

EFI Strings and com.apple.Boot.plist:

 

v3 of the bootloader supports a com.apple.Boot.plist file located on the EFI partition. You can place this in either of these two locations:

 

/Volumes/EFI/com.apple.Boot.plist

-or-

/Volumes/EFI/Library/Preferences/SystemConfiguration/com.apple.Boot.plist

 

Its your choice, and it makes no difference. If you have both it will favour the one in /Library/Pref.....

 

This is, of course, the place to put EFI strings - aka device properties - strings. This bootloader supports EFI strings in the same format as Chameleon expects them.

 

Troubleshooting

 

If you ever get 'mount_hfs: Invalid argument' when trying to mount the EFI partition, do this to fix it:

 

fsck_hfs /dev/disxXs1.

 

*** Always unmount the EFI partition before rebooting, to stop this happening! umount /Volumes/EFI! ***

 

je te montre le miens

 

diskutils listMac-Pro-de-Bill:~ bill$ diskutils list
-bash: diskutils: command not found
Mac-Pro-de-Bill:~ bill$ diskutil list
/dev/disk0
  #:					   TYPE NAME					SIZE	   IDENTIFIER
  0:												   *8.6 GB	 disk0
/dev/disk1
  #:					   TYPE NAME					SIZE	   IDENTIFIER
  0:	  GUID_partition_scheme						*250.1 GB   disk1
  1:						EFI						 209.7 MB   disk1s1
  2:				  Apple_HFS DATA					249.7 GB   disk1s2
/dev/disk2
  #:					   TYPE NAME					SIZE	   IDENTIFIER
  0:	  GUID_partition_scheme						*400.1 GB   disk2
  1:						EFI						 209.7 MB   disk2s1
  2:				  Apple_HFS BACKUP				  399.7 GB   disk2s2
/dev/disk3
  #:					   TYPE NAME					SIZE	   IDENTIFIER
  0:	  GUID_partition_scheme						*320.1 GB   disk3
  1:						EFI						 209.7 MB   disk3s1
  2:				  Apple_HFS Mac Pro HD			  319.6 GB   disk3s2
Mac-Pro-de-Bill:~ bill$

Link to comment
Share on other sites

  • 10 months later...

Bon après trois jours de galère et de recherches intenses à rattraper mon install fonctionnelle de OSX86 foirée à cause de Windows7 Grrr je tiens à faire un bon gros thumbs up pour Billilys :thumbsup_anim:

 

J'avais essayé pas mal de choses notamment toutes les commandes fdisk -e etc mais rien ne marchait j'ai donc suivi tes indications notamment sur le reformatage de la partition EFI mais je me suis arrêté à ce niveau là.

 

Bizarrement la partition à été automatiquement montée par OSX, de là je me suis servi d'un installer Chameleon RC2 en sélectionnant ma partition EFI puis j'ai simplement Glissé-Déposé mon dossier Extra et .plist dans la partition EFI. Je l'ai démonté et reboot 100% fonctionnel, donc voila merci beaucoup :D

 

Donc récap :

 

1) Open Terminal

 

2) sudo -s (and type in your password)

 

3) diskutil info / | grep Identifier - this tells you the values for diskXsY for '/', which is the currently-booted system. (If you're doing this on a disk other than the one you've booted from, you need to modify accordingly.)

 

4) diskutil list - diskXs1 should be called EFI. this is the hidden EFI partition on your target drive.

 

5) diskutil eraseVolume "HFS+" "EFI" /dev/diskXs1 - now, be *VERY* sure this is the correct drive. this will format the EFI partition as HFS+. (NB After erasing it will try to mount it, but will fail with "Could not mount disk0s1 with name after erase". Ignore this).

 

6) Pour moi ici la partition EFI à pu être montée, j'ai pris l'installer Chameleon RC2 en ciblant la partition EFI

 

7) Copie des .kext (Dossier extra etc.)

 

8) Terminal : diskutil unmount /Volumes/EFI

 

Yeeha

 

ps : je sais que je remonte un vieux post mais il était premier en résultat de recherche j'imagine que ça peut aider d'autres personnes :D

Link to comment
Share on other sites

 Share

×
×
  • Create New...