Bar Harbor Buildings Flickr Maine Photo Journal Photography Tone Mapping Urbex

Black Sheep Trading – Bar Harbor

Images taken at the Black Sheep Trading in Bar Harbor, Maine USA.

Black Sheep Trading 001

Black Sheep Trading 004

Black Sheep Trading 006

Black Sheep Trading 008

How to(s)? Projects Software

How to Boot from a Ubuntu SAN


The following section is a brief overview of “How to Boot from a Ubuntu SAN” with a Microsoft Server Operating System, and is intended as a reference.

These instructions were done as a guide to setup a test environment.

The following Microsoft Server Operating systems have been tested:

  • Windows 2003 SP-3
  • Windows 2008 SP-2 (Core)
  • Windows 2008 SP-2 (Enterprise)
  • Windows 2008 SP-2 (Standard)

If you see anything that is in “error” or would like to have something added, please feel free to contact us.


Install the Windows Operating System

Install the Windows Operating System as you normally would, with the following notes:

  • Install the OS unto an External Storage Device;
    • This Device will later be moved and mounted on the Ubuntu target
  • Format the OS installation partition as small as possible, but keep in mind:
    • Physical RAM on the Initiator/Client machine;
    • Windows Patching needs;

Minimal Recommendations:

Although numerous attempts were done with a bare minimal requirements, it is STRONGLY suggested that you install the following:

  • Windows Server 2003 SP2 or Greater

Download iSCSI support (2003 and below)

If you are installing a Microsoft Windows OS 2003 SP2 (or below), then you will need to do the following:

Install and Setup of Microsoft iSCSI Software Initiator (2003 and below)

The basic installation of the software is straight forward,

    1. Run the setup program;
    2. In the Microsoft iSCSI Initiator Installation window, be sure to select:
      • Initiator Service
      • Software Service
      • DO NOT SELECT “Microsoft MPIO Multipathing Support for iSCSI” because it is NOT COMPATIBLE with iSCSI boot.
No Multipathing
No Multipathing
    1. In the next dialog box, you will be asked to select “Configure iSCSI Network Boot Support”
Configure Network Boot
Configure Network Boot
  1. After the installation is complete, Reboot the system to check that is boots correctly.

Transferring Windows OS Image to Ubuntu

In these steps, you will be physically and digitally transferring the Target OS image.

    1. Shut down the Windows OS machine;
    2. Disconnect the Drive from the Windows machine;
    3. Reconnect the Drive to the Ubuntu Server;
    4. Once mounted, Open a Terminal Window;
    5. Type in the following command:
      • Disk pathExample: /dev/sdb
      • Bytes per CylinderExample: 8225280
      • Ending cylinder number for the partitionExample: 1026

sudo fdisk -l

Which should return something similar to:

Disk Allocations
Disk Allocations

You will need the the following information:

    1. Using this information, type in:

dd if=/dev/sdb of=/path/to/image/file.img bs=8225280 count=1026

It is strongly recommended that the /path/to/file.img, be placed into a LARGE /var path.

Note: Using /dev/sdb copies the Master Boot Record (MBR), while /dev/sdb1 just copies the partition.

    1. To verify the image transfer, use the following command:

fdisk -l /path/to/image/file.img

Making the Windows OS image available on iSCSI

Now the Windows OS image need to be made available:

    1. In the terminal window, type in:

sudo gedit /etc/ietd.conf

    1. Add the following to the end of the file:
      • yyyy is the year and mm is the month that the domain became valid.
      • is written as 1.168.192 or com.yourdomain (this will change in your environment).
      • [Optional identifier] is used to further identify the target.
      • Path= is where your files are located on the local machine.

Target[Optional identifier]
Lun 0 Path=/path/to/image,Type=fileio,IOMode=rw


    1. Restart the iSCSI daemon:

sudo invoke-rc.d iscsitarget restart

Configure your Ubuntu DHCP Server

Now to configure your DHCP Server:

    1. In the terminal window, type in:

sudo gedit /etc/dhcpd.conf

    1. Add the following to the end of the file:

filename "";
option root-path "";

Note: The second line (“Option…”) should be all on one line.

    1. Restart the DHCP daemon:

sudo /etc/init.d/dhcpd restart

Boot from the Diskless Client

It is now possible to boot from your Diskless client:

  1. Insert and Boot the Initiator/Client from the Etherboot media.
  2. After a short time, the Target OS should start to boot in a Normal fashion.

Etherboot Project

  • Required for Booting the Local Computer over the network to the SAN.
  • Booting can be done with Floppies, CD/DVD or USB devices.
  • This documentation is derived from the “HowTo Guides – Boot from SAN

– Andrew
§ § § § §
[adrotate banner=”1″]
Information Reference Software

Windows Boot Sequence

  1. Turn on your computer;
  2. The Computer initiates a POST (Power On Self Test) for devices that have a BIOS (Basic Input/Output System);
    • Test the memory & various Subsystems
      • Examples: AGP and Network cards
  3. BIOS then attempts to find the MBR (Master Boot Record)
    • A 512-byte sector (LBA 0 or HD0)
  4. If successful, the Windows OS takes Control, and looks for NTLDR(Boot Loader for Windows NT based OSes)
    1. In Vista and Server 2008, this has been replaced with:
    2. NTLDRallows:
      1. Memory Addressing
      2. Initiates the File System
      3. Reads boot.ini
    3. NTLDRhas to be at the ROOT of an active partition to detect:
      2. BOOT.INI
      3. BOOTSECT.DOS (needed for multi-OS installs)
      4. NTBOOTDD.SYS(need for SCSI adapters)
        • Only used if:
          • Boot Drive is SCSI;
          • Not using real-mode INT 0x13;
        • Then a copy of the SCSI miniport driver is loaded for Windows to run
      5. Troubleshooting:
  5. If XP is selected in the Boot Menu, NTLDRruns:
      • Gathers basic information from hardware BIOs
    2. BOOT.INI
    4. The systems starts in 16-bit real mode, and then moves into 32-bit protected mode
    5. It is possible to select F8 for Additional Boot Modes (Safe Mode, Last Known Good Configuration, etc.)
  6. NTLDR then loads NTOSKRNL.EXE and HAL.DLL
    1. Located at: %SystemRoot%System32
    2. Additional files/locations loaded:
      1. kdcom.dll (Kernel Debugger HW)
      2. bootvid.dll (Windows Logo & Side-Scrolling bar)
  7. NTLDRreads the Registry for the following information:
    1. Hardware Profile
    2. Authorized Device Drivers
    3. And needs to be in the Exact Order
  8. “Session Manager” is then started
    1. Smss.exe starts Autochk
      1. Mounts all drives
      2. Checks drives for a Clean shutdown state
    2. Starts win32k.sys for the Graphical User Interface (GUI) interface
    3. Starts csrss.exe (Client/Server Runtime Subsystem)
      1. User-Mode Applications
    4. Creates Virtual Memory/Paging file
      1. HKLMSYSTEMCurrentControlSetControlSession ManagerMemory Management
  9. NTOSKRNL.EXE takes control and starts WINLOGON.EXE which in turn starts LSASS.EXE
    1. LSASS.EXE (Local Security Authority Subsystem Service) provides the Logon screen

– Andrew
§ § § § §
[adrotate banner=”1″]