Jump to content

Tripleboot system unbootable after Linux reinstall


23 posts in this topic

Recommended Posts

I used this system for maybe two years without issues. The whole thing is on an eSATA hd, hybrid gpt/MBR format, 11 partitions, Chameleon on a separate partition along with the extra folder, OSX for everyday use, another OSX for emergency cases, Linux with separate home-partition and Windows 7 64 Bit. I wanted to install a new Linux, chose open suse 12.1 64 Bit and downloaded the dvd. I knew I would have to fix the fake MBR-partition table with gptsync afterwards to get windows back. After choosing several install options the installer reported that he was going to format the 2 linux partitions that he found as ext4, use one as root partition, the other one as home partition, use the existing swap partition and that he had detected a gpt hd, so he would install grub to the linux root partition and leave the MBR untouched. That sounded good for me, so I hit enter. Installation was finished, but after reboot I just saw a blinking cursor.

That made me think that the wrong partition might be marked as active. So I first fixed the faked MBR partition-table with gptsync and then marked the chameleon partition as active.

Again the blinking cursor after reboot.

Marked the OSX partition that was part of the faked MBR as active.

Blinking cursor after reboot, then: "Error. No operating system found."

Maybe i should have unplugged the internal hd before reinstalling linux? Too late. (OSX on the internal hd still boots, so does windows 7 via chameleon if I choose to boot from the internal hd.)

There might be just one or two bits in the wrong place. Do I really have to reinstall everything from scratch?

Link to comment
Share on other sites

If you see all partitions on your eSata disk when you boot to OSX from internal drive, then, I guess, all is ok. In that case I would just reinstall Chameleon. Be aware of a difference between boot0 and boot0hfs.

 

Can you check disk with Rod Smith's gdisk? Just to list GPT partitions and MBR records.

 

Link to comment
Share on other sites

Thanks for responding.

I forgot to mention that I already reinstalled Chameleon - with a .pkg-installer, this simple method always worked for me.

That didn't change anything.

Yes, I can see all mac partitions when I boot from the internal hd.

Now I will google for Rod Smith's gdisk.

Link to comment
Share on other sites

try this:

 

After you convert it to MBR you will have to set the active partition otherwise it won't boot. First of all try to install Chimera, it should work as it does everything necessary for it to boot (install boot0, boot1h and set partition active). If it failed now we'll try this manually to make sure it's done right. First get chameleon's binaries, you may download Chimera and open the package with pacifist and extract them somewhere. Put fdisk440 in the same folder. Then try this in a terminal:

Code:

cd /folder where you extracted the binaries/

Look for your boot partition's identifier (diskXsY):

diskutil list

Get root access:

sudo su

Install boot0 to the MBR:

./fdisk440 -f boot0 -u -y /dev/rdiskX

Install boot1h to the bootsector of the boot partition:

dd if=boot1h of=/dev/rdiskXsY

Copy the file "boot" to the partition:

cp boot /

Set the partition active:

./fdisk440 -e /dev/rdiskX

f Y (from the partition identifier rdiskXsY)

w (write)

q (quit)

Link to comment
Share on other sites

This is what gdisk reported for the external disk:

 

_________________________________

 

 

Partition table scan

MBR: hybrid

BSD: not present

APM: not present

GPT: present

 

Found valid GPT with hybrid MBR; using GPT

 

__________________________________

 

When I type "v" for "verify disk" it puts out: No problems found.

Link to comment
Share on other sites

that is good.

Can you list your GPT partitions with gdisk? Plus also MBR records/partitions (option under advanced options)? That may help in finding out what went wrong.

 

There is also a great too DarwinDumper here http://www.projectosx.com/forum/index.php?s=&showtopic=2447&view=findpost&p=19752

It dumps various system stuff. One of it is disks, partitions and bootloaders that are found. Can you post this output (writing from ipad and can not check exact file names to guide you).

Link to comment
Share on other sites

I know how you feel about messing with gdisk, fdisk and similar :)

 

Ok, quick check to files in BootSectDump folder shows that DarwinDumper still has some bugs, but also that you do not have boot0* installed to the first sector of your 1TB SAMSUNG HD103SJ disk.

 

You should install one of Chameleon's boot0* loaders to this disk. I would recommend boot0hfs - this will start Chameleon from the first bootable HFS+ partition regardless of the active flag, meaning you can set your Windows partition as active if Win requires it.

 

For installation - you can use Chameleon install package, Chameleon Wizard or just install boot0hfs manually:

fdisk440 -f boot0hfs -u -y /dev/rdisk9

(replace rdisk9 with rdisk0 or whatever the number of the disk is).

 

Maybe this is enough to solve the problem.

Link to comment
Share on other sites

I use Chameleon-2.0-r1394 because it's called "golden master", always worked for me (except the installer package problem now) and I thought I don't need the latest chameleon version for 10.6.8. As I don't have the binaries I wanted to extract the boot0hfs file and fdisk440 with pacifist. But there was no boot0hfs file, just a boot0 file but that should do the job too according to iFIRE. Both files were extracted although there was an error message.

 

So the plan is to start terminal, navigate to the folder with boot0 and fdisk440,

 

paste "fdisk440 -f"

type space

drag boot0 on the terminal window

paste " -u -y /dev/rdiskX" ("X = number of the eSATA hd)

hit enter

enter admin password

 

Will try tomorrow.

Link to comment
Share on other sites

So the plan is to start terminal, navigate to the folder with boot0 and fdisk440,

Yes, go to that folder or copy both files to some folder and then just type/copy following to terminal:

 

./fdisk440 -f boot0 -u -y /dev/rdiskX

("X = number of the eSATA hd)

If you are installing boot0 instead of boot0hfs, then do not forget to check and set Chameleon's partition as active. This is not needed for boot0hfs.

 

By the way, it's strange that you do not have boot0hfs in Chameleon package - it is present for a quite amount of time.

Link to comment
Share on other sites

I got this error message:

 

______________________________________________________

 

 

otto-katzs-mac-pro:boot0hfs Installation ottokatz$ sudo ./fdisk440 -f boot0 -u -y /dev/rdisk0

Password:

dyld: lazy symbol binding failed: Symbol not found: ___bzero

Referenced from: /Users/ottokatz/Desktop/boot0hfs Installation/./fdisk440

Expected in: /usr/lib/libSystem.B.dylib

 

dyld: Symbol not found: ___bzero

Referenced from: /Users/ottokatz/Desktop/boot0hfs Installation/./fdisk440

Expected in: /usr/lib/libSystem.B.dylib

 

Trace/BPT trap

 

________________________________________________________

 

 

Maybe it has to do with the errors that occurred when I tried to extract fdisk440 and boot0 with pacifist.

 

Now I downloaded the Chameleon 2.1svn Official Binaries. I hope I can combine the boot0hfs file from these binaries with the other chameleon files that should be already installed on the eSATA hd.

 

No idea why there is no boot0hfs file in the .pkg-installer.

Link to comment
Share on other sites

On the internal disk it's Leopard. I think the latest version of 10.5. Bootloader is chameleon, I think an older version, maybe any version 1. If you want to know exactly I can check tomorrow, I'm using another computer right now (we have little heatwave and it's damn hot in my room).

 

What I could try is to boot 10.6.8 on the eSATA hd with a boot CD and then run the package installer.

Link to comment
Share on other sites

When I boot from CD the display shows a custom boot logo, the circle of lines is rotating, then the machine seems to be stuck in a loop. The mouse pointer disappears and comes back, there is some hd and CD activity. This repeats periodically while the activity symbol stopped spinning.

 

When I boot from CD with -v x text is displayed, dsmos arrives, then the screen turns black with a little white block in the upper left corner and it seems to be stuck in the same loop as before.

 

The system is almost vanilla except a driver for a USB audio interface, LAN-driver and a patched AppleAzalia.kext (if I didn't forget anything).

 

I could boot windows 7 with the boot CD without problems.

 

Just downloaded the new DarwinDumper 2.1.4. Will run it on the desktop machine tomorrow, blackosx.

Link to comment
Share on other sites

Oh my. Which boot CD are yuo using? Maybe to try with some different boot CD? You can try with this HackBoot for Lion from madl0n: http://dl.dropbox.co...%20Lion.iso.zip

You can download it and burn ISO to CD, and then try to boot from it.

 

Alternative is to boot to your Leopard and try again to install boot0 (or boot0hfs) from Terminal, but without fdisk440:

 

Open Terminal and cd to folder where boot0 (boot0hfs) is.

Use

$ diskutil list

to identify your external disk

and then:

 

$ diskutil unmountDisk /dev/diskX
$ sudo dd if=boot0hfs of=/dev/diskX bs=440 count=1
$ diskutil mountDisk /dev/diskX

where X in diskX is the number of your disk.

Link to comment
Share on other sites

This is the output of the new DarwinDumper version.

 

I could try to plug the eSATA hd into a laptop running 10.7.1 and then run the package installer or install boot0hfs from the latest chameleon binaries manually.

 

After reading your post now I will try what you suggested.

 

This boot CD is the only one I found (well someone else found it) that works for my old ASRock G945-DVI board. I tried different boot CDs including HackBoot, nothing ever worked. I thought I could forget Snow Leopard for this board before someone on insanelymac found this CD that was made for another board. I installed some systems with it.

DarwinDumper_2.1.4_Chameleon_2.0_LEO_ottokatz.zip

Link to comment
Share on other sites

Thanks for finding the time to submit another DarwinDumper report. I can see the report now shows your volume sizes correctly, though the size of disk0 (SAMSUNG HD103SJ) is still shown as 0 TB. I will look at fixing this. I also see other issues with the report which I guess are specific to 10.5, though I don't have a 10.5 installation on an Intel machine to test. I'll see if I can find time on a G5 which I know of to run some more tests.

 

Looking at your disk sectors from the report I don't recognise the code in the boot sector of either of your disks. Can you tell me what code is (or is supposed to be) on each? If you can then I can look to adding detection for it in DarwinDumper.

 

It is strange why you cannot successfully execute fdisk440 on your system as I remember testing it on 10.5.8 a while back. The fdisk440 file I tested was posted earlier in the same topic by Zef - maybe you could try using that same file (It's here)? But otherwise the steps that dmazar posted above for using fdisk and writing to only the first 440 bytes should work just fine. You should then at least be able to boot Chameleon from your SAMSUNG HD103SJ.

Link to comment
Share on other sites

 

Looking at your disk sectors from the report I don't recognise the code in the boot sector of either of your disks. Can you tell me what code is (or is supposed to be) on each? If you can then I can look to adding detection for it in DarwinDumper.

 

 

Sorry but I don't know what code is or should be there. Is this a question for experts only or could you ask in a way that a typical apple user understands?

Can I find out with gdisk? If so: which options should I choose in the main menu and the submenu?

 

Just installed boot0hfs with the dd-command and now the machine boots again from the eSATA hd!!

Thanks a lot, dmazar. Without your help hours of stupid work would have waited for me.

Link to comment
Share on other sites

Gooood :)

Is your Win and Linux also working? Are you able to boot Leopard from internal disk with the new Chameleon from external disk?

 

And advice - it would be good to have some USB key with Chameleon installed on it that would be your rescue boot option if something goes wrong again.

Link to comment
Share on other sites

Sorry but I don't know what code is or should be there. Is this a question for experts only or could you ask in a way that a typical apple user understands?

Okay, no problem. And no, I wouldn't say this is an experts only subject, just something else that we come across one day and start to learn about. I only know what I've learned so far by reading and experimenting and I don't consider myself an expert at all. :)

 

Anyway, here's a short post which might help give an overview (or something like this wiki link for more details), but essentially the code I was referring to was the small programme which is run at boot time. You could find there maybe code from Chameleon, GRUB, Windows or something else for example. One of the DarwinDumper scripts tries to identify this code and print a list of what it finds, hence why I was trying to find out what you had in your dump so I could improve the Darwindumper script by adding more definitions.

 

Here's what you had:

0000000: 31c0 8ed0 bc00 7c8e c08e d8bf 1d06 be1d  1.....|.........
0000010: 7c50 57b9 e301 f3a4 b503 f3ab cb80 fa8f  |PW.............
0000020: 7e02 b280 5252 bb94 078d af2a 008a 4604  ~...RR.....*..F.
0000030: 668b 7e08 6603 3eb2 0684 c074 0b80 7e00  f.~.f.>....t..~.
0000040: 8075 0566 893e 840b 83c5 1083 c309 80fb  .u.f.>..........
0000050: b875 dab8 e100 c1e0 0289 c666 8bac 0008  .u.........f....
0000060: 6685 ed75 19b8 c406 50be ba06 e8a4 005e  f..u....P......^
0000070: e89a 005a 31c0 cd13 cd18 fbf4 ebfc 6689  ...Z1.........f.
0000080: 2eb2 06be aa06 b442 5a52 cd13 b8d8 0672  .......BZR.....r
0000090: d7a0 007c 84c0 7403 a1fe 7d3d 55aa b8e8  ...|..t...}=U...
00000a0: 0675 c566 89ee 5ae9 5675 1000 0100 007c  .u.f..Z.Vu.....|
00000b0: 0000 0000 0000 0000 0000 4572 726f 7220  ..........Error
00000c0: 000d 0a00 4e6f 2061 6374 6976 6520 7061  ....No active pa
00000d0: 7274 6974 696f 6e00 4469 736b 2072 6561  rtition.Disk rea
00000e0: 6420 6572 726f 7200 4e6f 206f 7065 7261  d error.No opera
00000f0: 7469 6e67 2073 7973 7465 6d00 496e 7661  ting system.Inva
0000100: 6c69 6420 4348 5320 7265 6164 00e8 0300  lid CHS read....
0000110: bec1 0660 acb4 0ebb 0100 cd10 ac84 c075  ...`...........u
0000120: f461 c300 0000 0000 0000 0000 0000 0000  .a..............
0000130: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000140: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000150: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000160: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000170: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000180: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000190: 1c80 b600 0000 0000 0000 0000 0000 0000  ................
00001a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00001b0: 0000 0000 0000 0000 d2d2 3b5c 0000 00fe  ..........;\....
00001c0: ffff eefe ffff 0100 0000 2740 0600 807f  ..........'@....
00001d0: 0f19 afb8 158b 2840 0600 0000 1c00 00fe  ......(@........
00001e0: ffff 07fe ffff 0048 2200 0000 4006 00fe  .......H"...@...
00001f0: ffff affe ffff 0048 6206 0000 a002 55aa  .......Hb.....U.

 

But this is not really important and I had taken this thread off topic as your main post was about the problem you had which I am happy to see you've solved with dmazar's instructions. I just didn't recognise the code so I thought I'd ask to help save me with some research, but it's not a problem, I will find out more boot sector code when I get time and add it to the script. Thanks for your dumps anyway - it's good to test the scripts on other hardware and versions of OS X to help find bugs etc.

Link to comment
Share on other sites

Is your Win and Linux also working? Are you able to boot Leopard from internal disk with the new Chameleon from external disk?

 

Three times yes. Booting Leopard as well as Snow Leopard is possible because of the nice chameleon feature to have different folders with different kexts for different system versions.

And advice - it would be good to have some USB key with Chameleon installed on it that would be your rescue boot option if something goes wrong again.

 

I will copy the content of the boot partition (I created a separate partition just for the bootloader) of the eSATA hd to the boot partition of the internal hd, install chameleon on it and unplug the internal hd. That should be more safe than the bank of suisse.

 

The lesson of this for me is that I wouldn't recommend the opensuse dvd for hybrid gpt/MBR disks. The installer promised not to touch the MBR but it did - maybe because hybrid gpt/MBR is pretty special.

 

blackosx, now I remember an article about what happens when a computer boots that I once read. As much as I remember it performs a selftest and then accesses a certain sector on the hd where it expects code to execute. If it doesn't find anything - game over. In my case one part of this code was obviously missing.

Both of my hds boot with chameleon. On the external hd I first installed windows, then chameleon, then linux with grub on the linux root partition. On the internal hd I started with chameleon 1 as much as I remember, then updated the boot-file, used asere bln's booter for some time, then installed chameleon 2. It might be a wild mixture of different components.

Link to comment
Share on other sites

 Share

×
×
  • Create New...