bootless toshiba
August 3, 2011 7:35 PM   Subscribe

I'm trying to install an OS on a machine whose DVD drive won't work. I have an external (USB) DVD drive but no way to convince the machine to use it as a boot device (that I know of).

The machine is a Toshiba Satellite A105 laptop. It's BIOS is ACPI 1.30.
Its 4 boot options are HDD FFD CD and LAN. HDD has no (working) OS.
CD drive (or more accurately, the controler on the motherboard) is broken. How can I get an OS on this machine?

Choices seem to be--get a different BIOS in there, (I've never done such a thing so this may not even be useful), do something with a USB memory stick or external drive, or somehow boot via ethernet (something else I've never done.)

posted by Obscure Reference to Computers & Internet (28 answers total) 4 users marked this as a favorite
You could remove your laptop's internal hard drive, put it in an external usb hard drive enclosure, then connect the enclosure to another working computer and use it to install the OS on the drive. Then simply remove the drive from the enclosure, and put it back in your laptop.

Difficulty/feasibility of that may vary depending on what OS we're talking about - might help to clue us in on that.
posted by Salvor Hardin at 7:50 PM on August 3, 2011

Typing on phone so sorry for short reply and poor formatting.

On another computer download linux live usb:

There is an option to create a windows install on USB stick. Its very simple and straightforward. You just need a usb drive large enough to hold the windows DVD. Your BIOS should allow you to boot to a usb stick that has a bootable partition (linux live should do that automatically)
posted by token-ring at 7:59 PM on August 3, 2011

A cursory search indicates that the plan I described will work with linux, probably with osx, and possibly with windows.

Here's an example of the sort of external enclosure I'm referring to. Note that you'll want to make sure the enclosure you buy has the same connector type as your laptop's hard drive.
posted by Salvor Hardin at 8:00 PM on August 3, 2011

It works for other operating systems as well, I just used it for windows recently.

I would be careful about installing to the hard drive on another computer then swapping back into the laptop, sometimes the operating system prepares drivers and features for components it detects during install. If you move the hard drive, hardware and power management features might not get configured correctly. Some operating systems are more forgiving then others about that.
posted by token-ring at 8:09 PM on August 3, 2011

Response by poster: looking at the linux option...How will the laptop know to boot from the usb drive? What do I tell the BIOS?
posted by Obscure Reference at 8:11 PM on August 3, 2011

If you don't have an option to boot from USB then a USB stick is no more useful than an external USB drive, most likely. You may be SOL without modifying the BIOS.
posted by RustyBrooks at 8:50 PM on August 3, 2011

Usually at boot-up you get a splash screen that asks you to press F8 or F12 for more options - and one of those options is the order of boot devices - are you saying that's not an option with this particular BIOS? (Sorry, it's not quite clear to me from what you've written so far)
posted by McBearclaw at 8:54 PM on August 3, 2011

I have a Toshiba netbook, so things might be different, but mine will boot from USB if I hold down the "u" key while it's turning on. You can use the program unetbootin to create a bootable USB thumb drive with an iso image if you're trying to install linux.
posted by number9dream at 8:59 PM on August 3, 2011 [1 favorite]

Do you actually have a floppy?
posted by zengargoyle at 9:15 PM on August 3, 2011

I'd try installing some sort of Linux onto the HDD using another computer. Not sure what distribution would be most amenable to this. Someone had a similar problem here but it seems it at least had an OS on it.

How to install Linux with a live partition. This assumes you can boot anything at all... but maybe you could prep the HDD by pulling it out, sticking it in another computer, and doing this? Dunno.

A LAN boot is probably the most likely to work, but you'd need to set that up. Which I have no experience with at all.
posted by BungaDunga at 9:20 PM on August 3, 2011

Oops, I would start looking into grub2 and how to boot USB stick without BIOS (and similar google searches). If you can build a grub floppy, or take out the hd and make a tiny grub2 partition on it, there seems to be grub loadable images that will let you boot from USB CD/DVD/HD devices without needing BIOS support.

Netbooting is also an option if you have the needed things. Basically a BOOTP/DHCP and TFTP server. There I would look at CentOS which has a PXE boot image available. If done right, once the laptop does the BOOTP/TFTP dance and gets a kernel and initrd root filesystem running, the CentOS image can be accessed via Telnet/SSH/VNC (or hell, I guess the regular keyboard monitor). I've only used this method to do remote installs....

So, totally doable, maybe not easy. :)
posted by zengargoyle at 9:24 PM on August 3, 2011

If you could post the rest of the laptop model, I can check if there's an updated BIOS - should be printed on the bottom somewhere, it'll be A105-S435 or something along those lines (there's a LOT of A105 versions)

That said, I'd be a little surprised if it added USB boot options to a BIOS that didn't have them previously, and makes me suspect it's quite an old laptop, and of course, getting it on there without a functioning method of booting is going to be... tricky.

USB stick boot is likely not going to work if USB CDROM boot won't; unless
a) allows you to choose which hdd to boot off (will be a separate option, next to the generic 'boot from hdd'
b) a usb stick made bootable shows up in that option

But assuming that doesn't work, then that leaves 4 options:

1) a replacement built-in cd-rom drive; but if the socket itself is busted, that won't work.

2) network boot via PXE. Doable, but not a trivial option, at all.
Here's a guide for a windows xp install via this method. You'll need another computer to act as server.

3) a toshiba floppy drive, i.e. not a usb one, but one that goes in a floppy drive slot (rare even on old laptops) - sometimes they swap out with the cd-rom slot, but then same as 1.

4) recycle the laptop and get a new one with everything working! Trite, but sometimes old hardware just isn't worth the effort.
posted by ArkhanJG at 11:05 PM on August 3, 2011

I wouldn't bother with a linux boot method such as grub on the hard drive, or via centos etc btw, unless you want to actually install linux. you *can* clone a copy of windows that way via partimage, but it doesn't solve your problem of how to install windows in the first place.

Also, installing onto the hdd put into another computer CAN work, but unless you're very lucky to have another computer with similarish hardware, you'll almost certainly just a blue screen upon initial boot with XP. At the very least, you'd need to install via an ATA 2.5 to 3.5" adapter for a desktop, or in another ATA/IDE based laptop and then probably do some tweaking with adding drivers manually first and sysprep. It's a lot easier with windows 7, but I'm guessing this laptop doesn't meet the minimum spec for win 7.
posted by ArkhanJG at 11:17 PM on August 3, 2011

If you did want to just put linux on it, PXE installation of ubuntu is relatively painless, as far as network installs go. Again, you'll need a 2nd computer to act as pxe/netboot server; here's one using an existing windows computer to act as server.
posted by ArkhanJG at 11:24 PM on August 3, 2011

If you're lucky, you might be able to use a floppy-based boot manager like Smart BootManager to boot up from attached devices that the BIOS won't boot from natively. If not, your best bet is probably going to involve physically swapping the HD into another machine.

If you're installing a Linux, then swapping the HD into another machine and doing the install on that will work just fine; modern Linux distributions will generally autodetect all hardware as they boot. If it's Windows, the process will be a little more circuitous unless your second machine is an identical model to the one with the b0rked CD drive.

For Windows, I'd do it like this:

1. Swap the HD into a working laptop.

2. Boot up from a Windows 98SE CD-ROM, and choose "Start computer with CD support". That will get you into DOS.

3. Partition the drive using FDISK, creating a partition for C: that's under 32GB. Leave the rest of the drive unallocated. Use FORMAT with the /Q and /S options to make sure DOS writes its boot loader and system files on there.

4. Use XCOPY /S /E D:\ C:\ to copy all files and folders from a Windows XP setup disc to C:\.

5. Put the HD back into your target laptop and boot from it. You should end up back in DOS, and you should be able to start C:\i386\winnt.exe from there and do a Windows install.

6. Once Windows is installed and working, open a cmd window and use CONVERT C: /FS:NTFS to flip C: from FAT32 to NTFS. Then use your favourite partition resizing tool to expand C: to cover the entire hard drive.
posted by flabdablet at 12:13 AM on August 4, 2011

The thing is, if you can get to a grub prompt either by floppy, drive swapping or PXE booting a bare grub image then you can chainload and boot the USB stick. ( root (hd1, sd1, whatever it maps to); chainloader +1; boot; bam! USB booting). From there anything is possible. On preview, flabdablet's old-school Windows install sounds good too, migh even work with FreeDOS if you don't have '98 laying around. You may even be able to just put DOS on the HD, then once booted access the DVD as D: if your BIOS has at least legacy mapping support.
posted by zengargoyle at 12:35 AM on August 4, 2011

You may even be able to just put DOS on the HD, then once booted access the DVD as D: if your BIOS has at least legacy mapping support.

The DOS method assumes that this will be possible on the computer that's used for steps 1 through 4. If it's also possible on the original laptop with the busted internal controller, then Smart BootManager should let you boot from that drive, avoiding any need to go the long way around with a second computer.
posted by flabdablet at 12:57 AM on August 4, 2011

Response by poster: Answering some questions: There is no usb boot option with the current BIOS. The model is A105-S3611. The 2 OS's for which I currently have DVDs are UBUNTU Jaunty and WIN7. I have other Toshiba laptops (each with something odd wrong with them) but I've never tried swapping disks around so I don't know if it will work. As for tossing this one--I should have done so but instead paid $111 to repair it, thinking I'd get a new DVD drive, until I was told that the problem was the controller and I'd need a new motherboard. That said, I'd feel like I was tossing $111 if I recycled it now. I have no floppy drive--but . . .

I've heard it's possible to make a usb stick look like a floppy and use it to boot! Is that so?

Can I upgrade my BIOS otherwise? (and how is it done?)

Other things to try (suggested above) will require more study--I need to go to work now so I can't respond for a few hours, but they look interesting.
posted by Obscure Reference at 6:34 AM on August 4, 2011

The A105-S3611 isn't too old of a system. When in the BIOS, do you see any options for enabling "Legacy USB" support? Sometimes that's all that is needed to allow booting off of a USB device.

As for booting off of external drives or components out of another PC, something like a BlackBox or Inland adapter comes in very handy, and is versitile enough for different uses in other situations down the road due to not confining the drive to an enclosure.

Also, you could remove the HDD from the A105-S3611 and attach it to one of your better working laptops to get an OS on it. (swap out the drives and use the CDROM to start the install...for Win7...shut it down as it's performing its first reboot so you can swap the HDDs back and it'll detect the devices in the A105-S3611 instead). If using an adapter to install the OS, be sure to disable the internal HDD in the BIOS temporarily so the OS install does not accidently modify your host PCs master boot record.
posted by samsara at 8:12 AM on August 4, 2011

Low-end Toshiba laptops are some of my least favorite things in the whole world. Me, I'd put that $111 down to education, and go dumpster diving for a busted Dell or Lenovo or hell, even an HP before trying to salvage any Toshy that ever sold for less than $1500.
posted by flabdablet at 8:52 AM on August 4, 2011

I'm fairly confident your Toshiba Satellite can boot from a USB drive just as if it were a normal HDD. No "usb boot option" should be necessary, it's just a matter of specifying which drive you want the computer to initially boot from.

With the USB boot drive connected, boot into your BIOS' system setup menu, either by pressing esc during boot and then F1 when you get the check system message, or just pressing F2 during boot. (One of these should do it.) You should find yourself on a black screen with white text that says "SYSTEM SETUP" at the very top. In the upper right hand corner there should be a header that says "BOOT PRIORITY," underneath which should be subheads "Boot Priority" and "HDD Priority." Use the arrow keys to select HDD Priority and press space to change its value.

If I'm right, one of the options should be the flash drive, and its label will have the driver's manufacturer's name in it, like "SanDisk" or "PNY." Select that as the first boot HDD, and then press the "End" key to save settings and boot, and your computer should boot from the USB. After installing the OS, you'd then go into the System Setup menu and change the HDD priority back to the built in HDD.
posted by patnasty at 9:20 AM on August 4, 2011 [2 favorites]

Response by poster: If I'm right, one of the options should be the flash drive, and its label will have the driver's manufacturer's name in it, like "SanDisk" or "PNY."

I wish you were right, but I can't get this to happen.
posted by Obscure Reference at 7:13 PM on August 4, 2011

Sounds like your best bet might be PXE. If you have another machine on the network, this guide seems to describe a pretty straightforward process using Ubuntu. This guide is a much more involved guide if you are doing TFTP and DHCP yourself. I think you can just disable DHCP on your router and then use the linux machine to serve for the purpose of the pxe install.
posted by sophist at 8:35 PM on August 4, 2011

FWIW, I have managed to get the BOOTP/TFTP/GRUB2/USB path working on my itsy-bitsy EeePC 900A. It PXE boots over the network to a 'grub>' prompt where a couple more commands chainload the live USB (Debian 6.0 created with the generic 'Startup Disk Creator' of Ubuntu).

It took a few tries to get 'dnsmasq' setup correctly. It's a simple DHCP/TFTP/DNS integrated server, there are similar things for Windows TFTPD32 and this one. Pretty simple in the end, just set MAC/IP/filename info and point it to a directory of files to serve.

A few more tries to get the grub image loaded with enough modules to support both the PXE loading of files and finding local drives. Once the minimum image is loaded from the TFTP server, the rest of the needed modules can be loaded as needed automagically. Still not really sure which ones are absolutely needed, I just serve up the whole grub directory just in case.

Start up the BOOTP/TFTP server with the grub image and modules.
Boot laptop and escape to the PXE boot option.
Grub loads.
set root='(hd1,1)'
drivemap -s (hd1) ${root}
chainloader (hd1)+1
Presto! Debian starts loading from the USB.

Should work if: you can make a USB Windows 7 stick (or Linux); your BIOS actually handles the USB as a legacy drive (I think most non-ancient ones do).

I can bundle up grub files, dnsmasq configs or whatnot if you want to actually try this route using Linux to serve files or trying one of the Windows equivalents. Most of the HOWTOs are a bit more on the complex side providing multiple boot options and such and booting entire OSs over the network (diskless workstations and such).
posted by zengargoyle at 1:52 AM on August 6, 2011

Response by poster: Progress report:
Installed windows 7 by putting the disk in another computer. However, it crashes upon booting in the original.

Tried a PXE boot of Maverick Meerkat using the instructions at:

It started out looking good. DHCP running under tftp assigned it an IP address.
Read request for file . Mode octet [08/08 16:39:21.046]
Using local port 64363 [08/08 16:39:21.047]
WARNING : Last block #1 not acked for file [08/08 16:39:24.019]
: sent 0 blk, 0 bytes in 15 s. 6 blks resent [08/08 16:39:24.019]
WARNING : Last block #1 not acked for file [08/08 16:39:26.051]
: sent 0 blk, 0 bytes in 15 s. 6 blks resent [08/08 16:39:26.051]
Connection received from on port 2074 [08/08 16:39:29.011]
Read request for file . Mode octet [08/08 16:39:29.011]
Using local port 64199 [08/08 16:39:29.011]

(that was the tftp log)

The laptop timed out.
Now the pxelinux.0 file is zero length anyway which may or may not be as it should (I've never done this before)

I don't know how to troubleshoot this.

posted by Obscure Reference at 2:14 PM on August 8, 2011

Best answer: When starting the install in a different computer, did you pull the HDD out after the first phase? If it's allowed to complete (or get to the point where you name the PC etc) it's gone too far.

But...if it works in the one laptop, and you've got Windows 7 Ultimate, Professional, or Enterprise on hand...try the following:

- Boot up Windows 7 in the working laptop, log in.
- Navigate to C:\windows\system32\sysprep\ and run sysprep.exe
- Put the computer in factory/audit mode, reboot
- Log back in and select "Enter OOBE mode, click Generalize and click OK (default action to shut down)
- Take the HDD to the other computer and boot. It should come up normally with a mini-setup to name the PC and set up network.

What sysprep does, is reset the default HAL settings...allowing the chipset, etc to be rediscovered.
posted by samsara at 2:44 PM on August 8, 2011 [1 favorite]

Best answer: Now the pxelinux.0 file is zero length anyway which may or may not be as it should
Indeed, it sounds like you hit this:
Note: Winrar may give you some errors that it couldn't create some symbolic links, just ignore it.
You may also have to copy pxelinux.0 to the netboot folder (instead of it's original home in '/netboot/ubuntu-installer/i386/')
In the tarball from that wiki page the archive has:
lrwxrwxrwx root/root         0 2010-10-06 03:02 ./pxelinux.0 -> ubuntu-installer/i386/pxelinux.0
Which if the symlink magic didn't happen for some reason would probably leave 'pxelinux.0' as a empty file. Check that the 'ubuntu-installer\i386\pxelinux.0' file exists and has a size, and if so copy it to the 'netboot' folder replacing the 0 length file. You might also have to do the same for the 'pxelinux.cfg' directory which is a symlink to 'ubuntu-installer\i386\pxelinux.cfg' which has a 'default' link to 'boot-screens\syslinux.cfg'. Copy 'ubuntu-installer\i386\boot-screens\syslinux.cfg' to file 'netboot\pxelinux.cfg\default' (pxelinux.cfg is a directory, default is the file).

In general, look in the 'ubuntu-installer\i386' directory. 'linux' and 'initrd.gz' are the kernel and root filesystem that get downloaded to get you an installer (just like you woud have had from booting from CD). The 'pxelinux.0' is the bootloader (syslinux + pxe extensions), 'pxelinux.cfg' is a directory with a 'default' that symlinks to 'boot-screens\syslinux.cfg'. All the files under 'boot-screens' are menus for the syslinux installer (the F# menus and help and such).

It's all over complicated. :) Hopefully, you're just having the probem where the symlinks didn't get extracted properly on the Windows side. It looks like you're really close...
cd netboot
rm pxelinux.0
cp ubuntu-instaler/i386/pxelinux.0 .
rm -rf pxelinux.cfg
mkdir pxelinux.cfg
cp ubuntu-installer/i386/boot-screens/syslinux.cfg pxelinux.cfg/default

posted by zengargoyle at 8:01 PM on August 8, 2011

Best answer: I tried the wiki way from a WinXP VM and it worked first time. But I tweaked the tftpd settings for sanity first, and dragged the netboot directory over from a VirtualBox share. So it will work, maybe with just some setup/sanity checks.

You should see this:
Rcvd DHCP Discover Msg for IP, Mac 00:23:54:34:A3:EE [08/08 21:18:07.221
DHCP: proposed address [08/08 21:18:07.221]
1684 Request 2 not processed [08/08 21:18:07.241]
Rcvd DHCP Rqst Msg for IP, Mac 00:23:54:34:A3:EE [08/08 21:18:09.364]
Previously allocated address acked [08/08 21:18:09.364]
Connection received from on port 2070 [08/08 21:18:09.374]
Read request for file <netboot/pxelinux.0>. Mode octet [08/08 21:18:09.374]
Using local port 1072 [08/08 21:18:09.374]
1684 Request 2 not processed [08/08 21:18:09.394]
: sent 53 blks, 26742 bytes in 0 s. 0 blk resent [08/08 21:1
On my Desktop I have a folder named 'tftp' with the tftpd32 files and the netboot directory.

|-- EUPL-EN.pdf
|-- netboot
|   |-- pxelinux.0          # link to ubuntu-installer/i386/pxelinux.0
|   |-- pxelinux.cfg
|   |   `-- default         # link to ubuntu-instaler/boot-screens/syslinux.cfg
|   |-- ubuntu-installer
|   |   `-- i386
|   |       |-- boot-screens
|   |       |   |-- adtxt.cfg
|   |       |   |-- exithelp.cfg
|   |       |   |-- f10.txt
... more fXX.txt files ...
|   |       |   |-- f9.txt
|   |       |   |-- menu.cfg
|   |       |   |-- prompt.cfg
|   |       |   |-- rqtxt.cfg
|   |       |   |-- splash.png
|   |       |   |-- stdmenu.cfg
|   |       |   |-- syslinux.cfg    # -- the important one
|   |       |   |-- txt.cfg
|   |       |   `-- vesamenu.c32
|   |       |-- initrd.gz
|   |       |-- linux
|   |       |-- pxelinux.0         # -- the important one
|   |       `-- pxelinux.cfg
|   |           `-- default
|   `--
|-- tftpd32.chm
|-- tftpd32.exe
`-- tftpd32.ini
Setting up tftpd32.exe, the '(eg)' lines depend on your local network, just sane IP/Netmask settings. The '(default)' lines didn't need anything special. I setup everything else to be as braindead simple/insecure/lax as possible.

start tftpd32.exe
Current Directory: ...\Desktop\tftp
Server interface: (eg)
Global: TFTP Server, DHCP Server. (disable everything else)
  Base Directory: ...\Desktop\tftp
  TFTP Security: None
  TFTP Options:
    PXE Compatibility
    Show Progress Bar
    Translate Unix file names
    Allow '\' As virtual root
    (uncheck everything else)

    Pool definition:
    IP pool starting address: (eg)
    Size of pool: 1
    Boot File: netboot/pxelinux.0
    WINS/DNS: (default)
    Default router: (default)  # you may need to set this for the actual netinstall to work.
    Mask: (eg)
    Domain Name: *blank* (default)
    Additional Option: 0 *blank* (default)
    Ping address before assignation: uncheck
    Bind DHCP to this address: uncheck (default)
    Persistant leases: checked (default)
SYSLOG: don't care.

close and restart tftpd32.exe to use the new configuration.
The important things are probably the Security(None), PXE Compatibility, Translate Unix file names, IP pool/Size/Mask, and the Boot File. I restarted the tftp32.exe server, booted my netbook via PXE and poof!, there was the familiar Ubuntu Live CD bootup menu with install/help options.

You might have to set the Default router config to complete the actual network install, I'm not sure if the installer will use the PXE provided DHCP information or if it will re-DHCP. Now that I think about it, you'd better set it. :)

Things to be aware of. Make sure Windows firewall/security allows tftpd32 to work. I had to click something to allow the application to use the network. DHCP/TFTP ports are usually restricted or blocked for security reasons. Make sure the files under 'netboot' are readable, most TFTP servers are really stupid (by design). Check the pxelinux.0 and pxelinux.cfg/default files aren't 0 size, (you may wan to turn off the hide extensions in explorer). If they are 0 size, copy the real files from ubuntu-installer\i386. The PXE process needs to find the netboot\pxelinux.0 and netboot\pxelinux.cfg\default files to start the process, then the netboot\ubuntu-installer will be fine (once pxelinux.0 is actually loaded, it's smarter than simple PXE).
posted by zengargoyle at 10:20 PM on August 8, 2011 [1 favorite]

« Older can I cut a giant hole in the roof of my truck ?   |   How to play the drums when you've never played the... Newer »
This thread is closed to new comments.