Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Booting Linux from W2k without LILO or GRUB

Posted on 2003-10-22
Medium Priority
Last Modified: 2013-12-15
In the good old days, loadlin used to be a solution on W9x, but W2k does not support neither real-mode apps, nor VCPI, so the I found out loadlin is of no use.

My (extended) problem:
I have several W2k workstations, networked. Ideally, I'd like to start Linux using the ramdisk scheme then mount the needed filesystem pieces via NFS from a server machine. This way I get to run Linux when required without the need to maintain two OS'es on those workstations (the W2k management is in place and works good enough - I do not need another hassle).
If loadlin would have worked, then my plan would have been to start a kernel using loadlin and a ramdisk image for the root FS, then bring up the network and mount the bulk of the FS via NFS. Even swap is not required, since the memory is relatively high and the usage pattern slim (no X, just command line, yes I'm setting up an academic CS lab :) ). In this utopia I would have gotten away with a couple of files deployed to the W2k system (loadlin, kernel, initrd).

Further restrictions, generated by the usage pattern of the machines:
I do not want to use the floppy (actually it's physically disabled). CR-ROM's are out of the question for the same reason.
I would rather not go all the way and install LILO or GRUB (with a full-blown partition resetup), since this would mean I'd have to do it manually on all those workstations. I know that's a working solution but that's exactly what I want to avoid.

I hope something along the following lines is possible:
1. Start the kernel-loading process in a loadlin way, but directly from ntloader, as a new line in boot.ini.
2. Convince W2k to start loadlin such that loadlin is happy (unlikely)
3. Boot some "stub DOS" from boot.ini and use it to immediately run loadlin

Do you have any idea?

Question by:fva
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 12

Expert Comment

ID: 9605004
Will you thinking of the VMWARE? http://www.vmware.com/download/ it's not free but you can have the linux with the win2k.
LVL 12

Expert Comment

ID: 9605028
I found this in the internet talking abt loadlin with Win NT and Win2K have a check http://www.moonchilli.com/dpluta/winter2002/arc/lect-13.html

Author Comment

ID: 9605169
Thanks for the comments.

1. VMWARE: Well, as you said, it's not free. Next, I'm not looking for a means to run them OS'es concurrently, but merely for a method to clean start Linux on a (already working) W2k box. Once the process of starting Linux is initiated, be it at boot time or after W2k is up, I do not want W2k any more (until next session, of course :) ).

2. URL: The page is merely enumerating some issues on booting. I already found the "bootsect.lnx" method on the Net and I even tried it. It works, but it's not what I want, since it requires a Linux loader to be installed in a separate partition (e.g. LILO, GRUB or equivalent). The bootsector it talks about it's the bootsector placed in the Linux partition by the specific loader, stripped off and copied into the "bootsect.lnx" file with dd. The idea is exactly to avoid the burden of shrinking the W2k partition to install Linux root and swap partitions with the appropriate loader. As I said, I want a minimal Linux to boot, then NFS mount "the bigger guns".

Learn Veeam advantages over legacy backup

Every day, more and more legacy backup customers switch to Veeam. Technologies designed for the client-server era cannot restore any IT service running in the hybrid cloud within seconds. Learn top Veeam advantages over legacy backup and get Veeam for the price of your renewal

LVL 12

Accepted Solution

paullamhkg earned 1200 total points
ID: 9605239
Not sure abt this have a check

SYSLINUX is an MS-DOS program very similar to LOADLIN. It is also available from ftp://metalab.unc.edu/pub/Linux/system/boot/loaders/ 

Author Comment

ID: 9605726
My workstations do not have PXE ROM's so I would have to hack a little but booting completely off the network might be an idea. I'll look into this and I'll post here the results. Please allow me to check on this before I give more feedback.

Author Comment

ID: 9670522
Hi paullamhkg!

Your idea was valuable, even if in an indirect way.
Based on your link I got to Etherboot and that will be my solution.
Here is the thing I am going to use:
Since I cannot mess neither with the netcard ROM nor with the HDD partitioning scheme, I will do a LILO-like trick within Windows. I wrote a small loader (fits in 512 bytes) that uses an embedded table of offsets and sizes to load an Etherboot ROM image then launch it. This "boot" sector is put in c:\ and referenced from boot.ini. NT will load the "sector" and run it. From there on I have the control and the rest are details.
The ROM image is copied also in C:\ (for manageability issues) and the map of its sectors is extracted by a small C utility I wrote and fed into the "sector" file.
At installation time the utility copies a virgin "sector" image in c:\, then copies a pre-supplied ZDSK file (except the original boot sector) in c:\, then computes the layout of the newly-created ROM file and writes the (offset/size) pairs in the "sector" image. Currently I have to adjust the boot.ini file by hand, but that's easy to solve.
At runtime, NT/W2K starts booting and offers me the new "Linux Etherboot" option. If selected, it loads the "boot sector" I prepared and launches it. This code uses the (offset,size) table to load the Etherboot code, via Extended INT 13. Then it launches it and from there on it's like I had a ROM on the netcard.

It's tested and the scheme works. After I select the proper entry at boot time, the Etherboot code kicks in and it starts doing its DHCP/TFTP magic.
Now all I have to complete is the setup of a root ramdisk image and the associated NFS mounts, but that's already pretty well covered and I hope it won't be that hard.

Thanks for the good idea.


Featured Post

Enroll in October's Free Course of the Month

Do you work with and analyze data? Enroll in October's Course of the Month for 7+ hours of SQL training, allowing you to quickly and efficiently store or retrieve data. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I am a long time windows user and for me it is normal to have spaces in directory and file names. Changing to Linux I found myself frustrated when I moved my windows data over to my new Linux computer. The problem occurs when at the command line.…
In part one, we reviewed the prerequisites required for installing SQL Server vNext. In this part we will explore how to install Microsoft's SQL Server on Ubuntu 16.04.
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
Suggested Courses

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question