Boot failure with custom partitioning

Discussion in 'Windows, Linux & Others on the Mac' started by jmmv, Jan 13, 2007.

  1. jmmv macrumors newbie

    Joined:
    Jan 13, 2007
    #1
    Hi!

    I've recently bought a MacBook Pro with the 160GB/5400RPM hard disk upgrade. Soon after I got it (two weeks ago), I installed Boot Camp, used the assistant to repartition my disk and, albeit some minor problems, I was able to dualboot OS X and Win XP Pro.

    However, as the disk is damn slow, I want to reorganize it to keep the system files in faster areas of the disk and prevent "fragmentation" due to my hard disk usage patterns (tens of thousands of tiny files). So I booted OS X installation, wiped out the full disk and created three partitions:

    - 30GB HFS+ for Mac OS X's root.
    - 30GB FAT32 for Win XP Pro.
    - The rest for Mac OS X's /Users directory, also HFS+.

    Then I went throught the OS X setup and, when finished, I tried to install Windows. I put the CD in, booted from it, and the installation started. It properly detected the C: partition, which it formatted as FAT32 and proceeded to the initial file copy. But soon after the first reboot (when the installer boots from the files copied to disk to enter the graphical installer), Windows failed.

    As soon as I select Windows from the original Mac boot loader, it says that %WindowsRoot%/system32/hal.dll is missing (even before it shows the logo). Googling a bit, it turns out that this problem is probably caused by a broken boot.ini. As I had used FAT32 for Windows, I was able to mess with this file from OS X. It originally had the following entry:

    multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

    And OS X's fdisk reports:

    Disk: /dev/rdisk0 geometry: 19457/255/63 [312581808 sectors]
    Signature: 0xAA55
    Starting Ending
    #: id cyl hd sec - cyl hd sec [ start - size]
    ------------------------------------------------------------------------
    1: EE 0 0 2 - 25 127 14 [ 1 - 409639] <Unknown ID>
    2: AF 25 127 15 - 1023 110 1 [ 409640 - 62652416] HFS+
    *3: 07 1023 191 3 - 1023 254 53 [ 63324200 - 62914560] HPFS/QNX/AUX
    4: AF 1023 254 54 - 1023 254 22 [ 126238760 - 186080864] HFS+

    (Well, this does not match the real output because partition 3 should be FAT32. But this is the last installation attempt I made, using NTFS. Same problem though.)

    Note that boot.ini says partition(3) and fdisk says Windows' partition is the 3rd one, so it looks correct. Well, being convinced that the problem was there, I tried different values for partition(x) in boot.ini; and it turns out that by using partition(2) it worked "fine".

    But not really. The installation proceeded by showing the Windows logo and seemed to boot fine, but, soon after, it crashed with a blue screen and the UNMOUNTABLE_BOOT_VOLUME error.

    I have already lost a full day trying to get this to work, and I don't know what else to try. (Of course I'd go back to the original setup, but I'd not rather to if at all possible.) BTW, I've also installed rEFIt, but no luck with it either.

    To me, it *seems* as if the Windows' initial boot loader (the one that uses BIOS services, I think) saw something on disk but later on, when it uses its own drivers, it sees something different. As I am almost EFI/GPT clueless this deduction seems plausible to me, but might be completely wrong.

    Now I've just found some "weird" values in "nvram -p"; e.g. the BootCampHD variable. Should those have some special value?

    Oh, and something else I tried: I manually modified the MBR and changed the first partition type from 0xEE to 0xEF. That is obviously wrong and in fact it broke my OS X system (to the point where I was unable to restore it without a full reinstall), but, for some strange reason, XP was able to finish its installation procedure.

    Any clue? Has anybody been successful at installing a Windows system with manual partitioning rather than the one made by BootCamp?

    Thank you.
     
  2. After G macrumors 68000

    After G

    Joined:
    Aug 27, 2003
    Location:
    California
    #2
    How did you make the initial partitions? It should work if you used the OS X Disk Utility.

    You might try installing OS X on the full drive space with a GPT partition first, and then resizing the partitions via the following command:
    Code:
    sudo diskutil resizeVolume <device> <size of OS X partition> <second partition type> <second partition name> <second partition size> <third partition type> <third partition name> <third partition size>
    which by your desired partition scheme would be:

    Code:
    sudo diskutil resizeVolume disk0 30G "MS-DOS FAT-32" c 30G "HFS+" Users 100G
    where "c" is the name of the Windows partition and "Users" is the Mac OS X user partition.

    Note that that 100G is not exact, don't know exactly how many GB are left on your 160 GB drive as computers report 1024B=1KB while disk manufacturers do 1000B=1KB. All numbers are in computer terms (binary kb)

    I've done an external USB drive install of Windows requiring changes to the volume location, but you should be warned that Windows doesn't like being moved away from the last partition on disk and that installing it is a pain.
     
  3. jmmv thread starter macrumors newbie

    Joined:
    Jan 13, 2007
    #3
    I created the partitions by using Disk Utility from within the OS X installer, so I bet they are correct.

    Now, to your suggestion. In order to quickly try it (without going through the full reinstall again), can I "undo" my partitioning with disutil? What I'm thinking about is deleting the two extra volumes (Windows and /Users, the latter not being populated at all yet), resize the OS X volume to cover the full space and then redo the partitions using your proposed command. Have been looking at diskutil's usage instructions but don't know how to proceed, if this is at all possible :-/

    Thank you!
     
  4. After G macrumors 68000

    After G

    Joined:
    Aug 27, 2003
    Location:
    California
    #4
    Sorry, the right command is:
    Code:
    sudo diskutil resizeVolume disk0s2 30G "MS-DOS FAT-32" c 30G "HFS+" Users 100G
    because the first partition (disk0s1) is your boot partition :)

    I think you can revert it by

    Code:
    sudo diskutil resizeVolume disk0s2 160G
    but check first by deleting your Windows and Users partitions and then running

    Code:
    sudo diskutil resizeVolume disk0s2 limits
    This should tell you how big you can make the OS X partition.
     
  5. jmmv thread starter macrumors newbie

    Joined:
    Jan 13, 2007
    #5
    No luck.

    First I tried to grow the first partition. Your proposed command did not work, because I assumed the other two partitions could get in the way. So I booted from the OS X CD, and removed the two extra partitions by using the gpt utility. (Why can't diskutil remove volumes? It can erase their contents, but not the partitions they are assigned to.) With that done, I tried your command again without any luck. (It complained that disk0s2 didn't have enough space...)

    So I reinstalled OS X, again, using a single partition that covered the full disk. And then tried to resize it using the diskutil command as you said. That went fine, but when reinstalling Windows... uh, oh, the exact same boot failure :-(

    I'm out of ideas. Anyone?
     
  6. jmmv thread starter macrumors newbie

    Joined:
    Jan 13, 2007
    #6
    Have kept trying...

    First I recreated the partitions (once again), but this time putting the Windows one in front of the two for OS X. This way, Windows ended up in disk0s2. Unfortunately, same problem. Based on some note I found in another forum, I also tried to manually reorder the partitions in the "fake" MBR (without actually recreating them) to put the Windows one in disk0s4. It didn't work because Windows got confused, reinitialized the MBR and reordered them to match the on-disk structure. (Plus this order change could have broken the gpt utility in OS X, but haven't tried.)

    Then, I tried one more time but putting the two OS X partitions in front of the Windows one. Guess what? It worked! Windows is being installed right now, and I'll later proceed with OS X.

    So for some reason, either Windows or Boot Camp (its BIOS emulation?) really want to be on the last partition. (I doubt it's a Windows problem because I've always had it in non-last partitions on regular PCs...)

    I'm so tired of reinstalls and I must get some work done, so I'm going to leave it for a while. Maybe when I try it again they'll have released a newer Boot Camp version with the corresponding firmware updates to fix this issue.

    (But it's a pity because a quick test I've done reports a raw sequential write on the first partition to reach 35MB/s while it only reports 21MB/S on the one that lives at the end of the disk. My gaming experience will keep suffering, grrr.)

    Thanks though.
     
  7. jmsait19 macrumors 6502

    Joined:
    Jan 26, 2004
    Location:
    MO
    #7
    So if I'm reading this last post correctly, this problem was solved by moving the partition to the end...

    Does this have to be done by uninstalling everything and repartitioning the drive?

    This issue seems to be identical to what I am trying to do so if this is the solution I'll go for it...

    Can anyone shed an affirmative light on this one?


    Thanks,

    Jason
     
  8. janam macrumors newbie

    Joined:
    Jul 11, 2009
    #8
    Help!!!

    hey guys,

    i just installed windows vista ultimate on my mac through the boot camp.. but i think there was a bit of a problem or something and somehow automatically the mac restarted and teh windows files started getting downloaded and after tat i couldnt log bak into the mac mode even wen i manually switched off the comp. wen it switched on again it automatically started downloadin vista.
    the option to install vista in FAT32 didnt even arise and i installed vista on the harddisk 3BOOT CAMP after formatting it. therefore 68GB got applied to windows on the partition and then after everything got installed it kept coming that windows failed to boot from drive 80 but then windows starts after this warning is shown twice. i do not get the option of logging into my mac partition and somehow 100GB is eaten up because my HD is only 160GB where 60GB is in windows and 100GB is not shown for...
    i do not know what to do and i might sound confusing but i m just tensed..

    any1 plz help.. i want to remove windows and just want my mac bak and tat too all the 160GB.. thanks
     

Share This Page