[Dell with MediaDirect] XOSL Bootloader, Hardware dual boot made easy

Discussion in 'Dell' started by kasaweb, Apr 19, 2009.

Thread Status:
Not open for further replies.
  1. kasaweb

    kasaweb Newbie

    Reputations:
    11
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    5
    Hi everyone !

    Dell laptops come with a second power up button that start a light Windows version aimed for multimedia viewing (MediaDirect). I've always wanted to be able to choose which OS to boot when the MediaDirect button is used.

    There's already solutions to this, but they don't allow us to boot from a logical partition, and they aren't very "user friendly".

    So I decided to tweak my favorite graphical bootloader to add the possibility to assign a different OS to each powerup button. I've also add an option to be able to hide it completely so you're laptop will boot as if XOSL wasn't there.

    Another thing about XOSL, which I think it's a good point, it's that it's independant from any OS, and it will install on its own partition, which of course can be logical. Only few MBs are needed (I use 23Mb).

    So here's the steps to install the custom XOSL on your Dell :

    1 - First, you will need to make some room for XOSL on your hard drive. Use your preferred partition software (I use Gparted LiveCD), and make a small partition (can be logical) for XOSL. I gave him 23Mb. It's not necessary to format.

    2 - Burn the ISO and boot with the CD (the link is in the bottom of the post)

    3 - Press Enter when it says so

    4 - Choose XOSL V1.1.5 (it's the only choice anyway)

    5 - Choose "Boot no UMB (ultra-defensive)", then keep on hitting Enter on every question until you reach this screen :

    [​IMG]

    6 - Press any key. Choose Install and follow the steps. Install on a dedicated partition. Don't forget to choose the partition you prepared before for XOSL.

    7 - Once installed, you will be able to reboot. Once it's done, you will see the interface of XOSL :

    [​IMG]

    8 - Click on "Setup", the click on "Add". Another window will show up. Here you will add an entry for each OS you have :

    [​IMG]

    Choose the OS partition, name it, then click "Apply" and repeat this for all your OS

    9 - There are 2 checkboxes in the General tab you should notice :

    Default boot item : the OS that have this checkbox checked will be booted by default when the main powerup button is used

    MD button boot item : the OS that have this checkbox checked will be booted by default when the alternative (MediaDirect) powerup button is used.

    Choose now the powerup button configuration you want and enjoy :)

    Link to download XOSL4DELL :
    http://rapidshare.com/files/223048195/xosl..._by_kasaweb.rar


    Few more things :
    - There's an option called "Hiding" that can be usefull to isolate Windows installations.
    - To make XOSL completely invisible when booting a OS affected to a powerup button, on the main window click on "preference", then "Misc" tab, then check "Show GUI only when Alt is pressed". As it says, if checked, XOSL interface will only be shown when you maintain the Alt button pressed during booting.
    - If you use Linux, make sure to install its bootloader (GRUB, LILO, ...) in the OS partition instead of MBR.
    - This method works with my XPS M1530, but it should work with every Dell, at least the ones that come with MediaDirect 3.0 and above.
    - IMPORTANT : if the mbr is altered due to the installation of another OS, reboot with XOSL4DELL CD and in Step 6, choose "Restore" instead of "Install"
     
  2. vinumsv

    vinumsv MobileFreak™

    Reputations:
    502
    Messages:
    1,238
    Likes Received:
    0
    Trophy Points:
    55
    WoW Nice Tutorial mate :yeah:

    Rep +
     
  3. dg1261

    dg1261 Notebook Geek

    Reputations:
    95
    Messages:
    88
    Likes Received:
    4
    Trophy Points:
    16
    Nice work!

    Just for clarification, the graphic in step 8 illustrates how the timeout period ("10 sec" in this example) can be set for the default boot item. Does your custom MD boot item also use the timeout setting? Or does it bypass the boot manager gui altogether and boot the MD boot item straightaway?
     
  4. psygn

    psygn Notebook Evangelist

    Reputations:
    259
    Messages:
    460
    Likes Received:
    0
    Trophy Points:
    30
    Cool, bookmarked this tutorial for the near future!

    Thanks and +rep
     
  5. kasaweb

    kasaweb Newbie

    Reputations:
    11
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    5
    Thanks :)

    both MD boot and normal boot are affected by the timeout setting. But if you want to bypass XOSL, you can use the option "Show GUI only when Alt is pressed". However, it will apply for both boots.

    Bypassing XOSL only when MD boot is used was the default behavior of the first version I made, before I added the GUI hiding option. If you prefer it like that I can send it to you.
     
  6. kasaweb

    kasaweb Newbie

    Reputations:
    11
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    5
    so anyone tried this ?
     
  7. own3d

    own3d Notebook Evangelist

    Reputations:
    73
    Messages:
    445
    Likes Received:
    0
    Trophy Points:
    30
    Very nice work, I did this all manually like a year ago, messing with practically everything to get it to work. - And then like 1 month later my motherboard got replaced and it totally messed everything up :(

    So i've bookmarked it for now, and when I get some time I will try it.
     
  8. dex3985

    dex3985 Newbie

    Reputations:
    0
    Messages:
    9
    Likes Received:
    0
    Trophy Points:
    5
    awesome app!

    I was looking to make my own custom system restore similar to the one dell uses, with all the functionality, and ability to leave it completely hidden from the system under normal use. It took a lot of trial and error, but I was very succesful.

    The tools I used :

    1. this copy of xosl for dell (though, it's not dell specific, the description really should be similar to dell)

    2.a win 98 boot disk

    3.a partition manager (i used super fdisk, but any bootable one will work, or i'm sure the ranish one included in this xosl will work too.)

    4.a win 7 ultimate installation dvd

    5.a copy of norton ghost 11 corporate (I believe it was a server edition??) really just needed the dos command line functionality, which you can't get with ghost 12 and above. I tried 15 at first, and that didn't work.

    the steps i took...(well, in the order that would simplify the process, avoiding all the trial and error i used)

    1. boot from the partition manager, and I created 2 primary fat32 partitions. the first was 32MB to be used for the bootloader, and the second was 5gb to be used for the restore partition. I left the rest of the disk, unpartitioned.

    2. boot from and install xosl with the instructions in this thread.

    3. boot from, and installed windows 7 ultimate (in this case, x86, but x64 would work just the same. the processor i was dealing with, wasn't 64 bit)

    4. boot from and repair xosl, and then reboot. when windows tried to load, I got an error that said it couldn't boot, hardware might have changed. you should be able to repair the start up. I might have had to boot from the dvd to accomplish that, but I might have used the tools there, it was a couple days ago, and I really can't remember. but you should be able to repair the windows 7 bootloader.

    at this point, you have the dedicated partition for the bootloader at the front of the drive, and empty 5gb partition for the system restore, and a third partition that windows 7 made, 100mb in size, for some system files, and last..the 4th primary partition for the windows 7 OS at the end of the drive. my image files just about filled the 5gb i created for the restore partition, and that was for the x86 version. might want to go bigger if you use x64, or plan on installing a few apps before you make your image. all i had installed was OS, virus software (mcaffee offered by comcast), and all the updates avail as of 12-11-2009.

    the next step, is to create that restore partition. to do that...

    boot from the win98 boot cd, and start with cdrom support.

    when it loads, drive c: should be your 5gb partition, because it will be the only fat32 filesystem. (the first partition is changed by the bootloader when you install).

    verify it's the right one by checking the size.

    now that you are good to go, use the format command to make it bootable
    FORMAT C: /V:GHOST_IMG /S /Q
    that will format the drive, label it GHOST_IMG, and transfer the system files.

    I then created a directory win98 on the c: drive, and copied the contents of the boot cd to this folder. not necesarry to get the hidden files too, but the edit command, format command, etc could become useful later. You will also need the himem.sys and mscdex.exe files for cdrom support. not required, but helpful. you really don't need any of it except the edit.com file and a file called restart.com found on the ramdrive that the startup created, it should be drive D:, and you could skip making the win98 folder, and just copy it to the root.

    next, boot from the ghost 11 cd, quit ghost after it loads so you are in a dos prompt and copy ghost.exe to c:\

    it's also a good idea to grab mouse.com and mouse.ini and copy them to c: as well.

    that will make the partition bootable, reboot, and set it up in the bootloader.
    i had 2 entries, one titled "WINDOWS 7", pointing to boot from the 4th partition, marked as the default boot item, with 30sec timeout. and another titled "SYSTEM RESTORE". then in the preferences of the bootloader, I hid the GUI except when ALT was pressed.

    this makes the bootloader just autoboot windows 7, and you never even see the bootloader. the timer only applies, when the gui is visible.

    reboot the system, holding the alt key at startup, and the autoboot dialogue will display with the counter. press esc to cancel the autoboot, and select the system restore partition, and boot that instead.

    execute ghost11.exe
    use the options to make images of the partitions, not the entire disk. if you try to image the entire disk, you can not save it to the same disk. so you need a second hard drive, or a dvd or two, to burn to..but this process is much easier, with just partition images. you do not need to make an image of the first partition or second partition of the drive. you can't make one of the second partition, because you'll have nowhere to save it to, and the first one, when you try to restore it, because it isn't fat or ntfs, ghost can't preserve the size for some reason, and it will repartition your drive to it's max capacity, destroying your partition table. there may be a way to force it to leave the size alone, but I didn't bother trying, because all this is assuming, the bootloader and restore partition is in tact, otherwise, it will never load anyway, and i plan to build a dvd, with an image of the entire drive, that is bootable, and auto executes the restore, and restores the mbr, bootloader partition, restore partition, and both windows partitions. i'll post if i get that working too.

    so the only two images we need, are of the 3rd and 4th partitions. I did them individually, and named them part3.gho and part4.gho. and used the highest compression avail. it still went fairly quickly.

    after that is done, you need to build your config.sys, and autoexec.bat.

    my config.sys looked like this...

    DEVICE=HIMEM.SYS /testmem:OFF
    DEVICE=OAKCDROM.SYS /D:MSCD001

    my autoexec, was a bit more complicated, because i just used batch files to prompt for user confirmation. the choice command was removed in win 9x and only included in some other package. I found, and downloaded it, but when i tried to use it, I got an error that said "can not be run in dos mode".

    here's an example of an autoexec.bat that will work to automate the process, but give a "are you sure" prompt..

    @echo off
    LH MSCDEX.EXE /D:MSCD001 /L:d
    MOUSE.COM
    SET DIRCMD=/P /O:GN
    CLS

    ECHO. *******************************
    ECHO. ** WARNING **
    ECHO. ** ALL DATA WILL BE DESTROYED **
    ECHO. ** DO YOU WISH TO PROCEED? **
    ECHO. *******************************
    ECHO.
    PROMPT Y/N?

    the prompt y/n? will change the dos prompt to y/n? rather than the pathname followed by the gerrand ">"

    this will kind of trick a novice user into thinking they are being asked a question, that requires an answer, even though, they are really at a dos prompt. i then used a y.bat and a n.bat to control what happened next...

    if the user puts anything but y, or n..they are simply going to get the error...

    bad command or filename
    y/n?

    they will think they are being prompted for the right answer...and i'm assuming, most users will not know they are at a command prompt, and if they did, probably wouldn't know what to do with it anyway. and i plan on supplementing the pc with a dvd, in case the restore partition becomes unusable...so I really didn't care if someone did happen to mess it up.

    the n.bat simply looks like this...

    restart

    yeah..it's that simple. if forces the restart from the file we copied off of the windows 98 cd.

    the y.bat will be the executable to actually do the restore, and it simply needs to look like this...

    ghost11 -clone,mode=prestore,src=part3.gho:1,dst=1:3 -sure -fx
    ghost11 -clone,mode=prestore,src=part4.gho:1,dst=1:4 -sure -rb


    that's it, after that, your system is fully functional.

    a quick explanation of the ghost11 command.....

    the -clone,mode=prestore, tells ghost to restore a partition from an image file. the src=part3.gho:1 is the image we created earlier, and the partition number within the image...even though it was partition 3 that we made an image of, since there is only one partition in the image file, it's partition 1.

    the dst=1:3 is the destination drive and partition. drive 1, partition 3, the same place we backed it up from.

    -sure, removes the user cofirmation. which means, it will not prompt to make sure the partition size is correct, nor will it prompt to confirm the execution. I recommend testing it first without the -sure -fx, and make sure it's going to do it correctly, it should, but you can't be too safe. the -fx tell ghost to exit back to dos, when the operation is done, where it will resume the batch file, and continue to the second line, doing the same thing, with the 4th partition. then we use -rb instead of -fx, and it forces a reboot of the system.

    and by not holding alt, when the restore is done, it just boots back into the restored windows partition.

    I was a little more creative with my autoexec.bat, and actually used the n.bat to switch to a different directory that i just called dosshell, and prompted to return to dos, with the y.bat in that folder, clearing the screen, changing the prompt back to $p$g, and navigating back to the root of the drive. the n.bat in dosshell, forced the restart.

    I had read a lot of articles, trying to find a way to do exactly this, make a fully hidden, fully automated system restore partition, and no one really had a guide on how to do it, and it seems like no one was really successful. I was, and this is how I did it, so I thought i'd share it.

    email me questions if you would like
    mailto:dex3985@hotmail.com
    and good luck!!! I spent about 4 days on this project, with a lot of mishaps along the way.
     
  9. kasaweb

    kasaweb Newbie

    Reputations:
    11
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    5
    thank you for your feedbacks :D
    thank you dex3985 for sharing your experience
     
  10. dex3985

    dex3985 Newbie

    Reputations:
    0
    Messages:
    9
    Likes Received:
    0
    Trophy Points:
    5
    I did forget to mention, after the windows 7 installation, before building the restore partition, in order to "hide" the partitions from windows, I simply removed the drive letter associated to the "SYSTEM RESERVED" and "GHOST_IMG" partitions. This way, they don't show up as hard disks in the "MY COMPUTER", and aren't logical drives.
     
Thread Status:
Not open for further replies.

Share This Page