LinuxQuestions.org
Visit the LQ Articles and Editorials section
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices

Reply
 
Search this Thread
Old 01-14-2009, 01:23 PM   #1
Vanostaajen
LQ Newbie
 
Registered: Jan 2009
Distribution: Ubuntu 8.10
Posts: 25

Rep: Reputation: 15
ubuntu installed on external hard drive, can't startup without external hard drive.


I have 2 ubuntu's: 1 on my ineternal hard drive, 1 on my external

When I startup without my ext drive =>GRUB error 21.

And when I plug it in I can choose: the standard ubuntu kernel is the one on my external, and the original one is listed under other...

I'd like to be able to startup without external hard drive and make the ubuntu on my internal drve the standard.


So what do I do now?
 
Old 01-14-2009, 03:16 PM   #2
hal8000b
Member
 
Registered: Mar 2001
Location: UK
Distribution: Mint, Arch, Debian7
Posts: 170

Rep: Reputation: 21
Plug in your external hard drive, boot the Ubuntu system that is installed on your internal hard drive.

Then install grub to the mbr on the internal drive, as grub is currently installed to the mbr on the external drive, this is why you see grub error 21 when the external drive is not present.
 
Old 01-14-2009, 03:44 PM   #3
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 12,111

Rep: Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985
Nothing is ever that simple.
Grub is actually on the MBR of the internal, but refers to a partition on the external for its stage files (and menu.lst). Doing the above will allow boot without the external plugged in, but will (likely) not have any reference to the external in the boot menu. Can be simply added using the menu.lst on the external as an example.
 
Old 01-15-2009, 01:49 AM   #4
Vanostaajen
LQ Newbie
 
Registered: Jan 2009
Distribution: Ubuntu 8.10
Posts: 25

Original Poster
Rep: Reputation: 15
Ok I'm not that good with coputers: 1)what is MBR, and 2) how do I install grub...?

Sorry but I'm really unexperienced with linux.
 
Old 01-15-2009, 02:44 AM   #5
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 12,111

Rep: Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985
Open a terminal, and post the output of this "sudo fdisk -l".
 
Old 01-15-2009, 05:31 AM   #6
Vanostaajen
LQ Newbie
 
Registered: Jan 2009
Distribution: Ubuntu 8.10
Posts: 25

Original Poster
Rep: Reputation: 15
Tsadaaam:


thomas@Vanessa:~$ sudo fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x1f7e8491

Device Boot Start End Blocks Id System
/dev/sda1 * 1 18702 150223783+ 83 Linux
/dev/sda2 18703 19457 6064537+ 5 Extended
/dev/sda5 18703 19457 6064506 82 Linux swap / Solaris

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0009af02

Device Boot Start End Blocks Id System
/dev/sdb1 1 42476 341188438+ b W95 FAT32
/dev/sdb2 42477 60801 147195562+ 5 Extended
/dev/sdb5 42477 60052 141179188+ 83 Linux
/dev/sdb6 60053 60801 6016311 82 Linux swap / Solaris
 
Old 01-15-2009, 08:23 AM   #7
yancek
Senior Member
 
Registered: Apr 2008
Distribution: PCLinux, Ubuntu, Slackware
Posts: 4,528

Rep: Reputation: 705Reputation: 705Reputation: 705Reputation: 705Reputation: 705Reputation: 705Reputation: 705
MBR is the master boot record. The Grub bootloader consists of several files. The stage1 file is in the master boot record and will point to the other files of the bootloader. Boot to the Ubuntu you have on the INTERNAL drive, open a terminal and enter the following commands, hit ENTER key after each line:

sudo grub
root (hd0,0)
setup (hd0)
quit

The setup line will put stage1 in the mbr and the root line will have it pointing to the first partition on the first disk, sda1.
 
Old 01-15-2009, 10:29 AM   #8
Vanostaajen
LQ Newbie
 
Registered: Jan 2009
Distribution: Ubuntu 8.10
Posts: 25

Original Poster
Rep: Reputation: 15
WOW, amazing!
It worked

How do you know all this?
 
Old 01-15-2009, 11:50 AM   #9
Vanostaajen
LQ Newbie
 
Registered: Jan 2009
Distribution: Ubuntu 8.10
Posts: 25

Original Poster
Rep: Reputation: 15
Ok, a new problem has arrived: now I can't boot the ubuntu from my external drive anymore. Is there a way around this?

I'd like to be able to choose which ubuntu I boot when I start my pc with my external hard drive plugged in.
 
Old 01-15-2009, 01:33 PM   #10
yancek
Senior Member
 
Registered: Apr 2008
Distribution: PCLinux, Ubuntu, Slackware
Posts: 4,528

Rep: Reputation: 705Reputation: 705Reputation: 705Reputation: 705Reputation: 705Reputation: 705Reputation: 705
Boot the Ubuntu on the internal drive. Open a terminal and type:

sudo gedit /boot/grub/menu.lst

Don't use Ubuntu but I think that command should get you to the menu.lst file with the gedit text editor. Once there, you need to get the entry from the external Ubuntu menu.lst file and put it in the internal Ubuntu menu.lst file. If you can't see the external Ubuntu when you are in the internal do the following:

sudo mkdir /mnt/sdb5
sudo mount -t ext3 /dev/sdb5 /mnt/sdb5
cat /mnt/sdb5/boot/grub/menu.lst

You should then see the external menu.lst file and have the entry to copy.
 
Old 01-15-2009, 03:11 PM   #11
Vanostaajen
LQ Newbie
 
Registered: Jan 2009
Distribution: Ubuntu 8.10
Posts: 25

Original Poster
Rep: Reputation: 15
I'm asking this to be sure:

I have this:

Code:
# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default		0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout		10

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title		Windows 95/98/NT/2000
# root		(hd0,0)
# makeactive
# chainloader	+1
#
# title		Linux
# root		(hd0,1)
# kernel	/vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=21592602-9305-4948-b7e5-19c36bbc5ae0 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=21592602-9305-4948-b7e5-19c36bbc5ae0

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##

title		Ubuntu 8.10, kernel 2.6.27-9-generic
uuid		21592602-9305-4948-b7e5-19c36bbc5ae0
kernel		/boot/vmlinuz-2.6.27-9-generic root=UUID=21592602-9305-4948-b7e5-19c36bbc5ae0 ro quiet splash 
initrd		/boot/initrd.img-2.6.27-9-generic
quiet

title		Ubuntu 8.10, kernel 2.6.27-9-generic (recovery mode)
uuid		21592602-9305-4948-b7e5-19c36bbc5ae0
kernel		/boot/vmlinuz-2.6.27-9-generic root=UUID=21592602-9305-4948-b7e5-19c36bbc5ae0 ro  single
initrd		/boot/initrd.img-2.6.27-9-generic

title		Ubuntu 8.10, kernel 2.6.27-7-generic
uuid		21592602-9305-4948-b7e5-19c36bbc5ae0
kernel		/boot/vmlinuz-2.6.27-7-generic root=UUID=21592602-9305-4948-b7e5-19c36bbc5ae0 ro quiet splash 
initrd		/boot/initrd.img-2.6.27-7-generic
quiet

title		Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
uuid		21592602-9305-4948-b7e5-19c36bbc5ae0
kernel		/boot/vmlinuz-2.6.27-7-generic root=UUID=21592602-9305-4948-b7e5-19c36bbc5ae0 ro  single
initrd		/boot/initrd.img-2.6.27-7-generic

title		Ubuntu 8.10, memtest86+
uuid		21592602-9305-4948-b7e5-19c36bbc5ae0
kernel		/boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title		Other operating systems:
root


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda1.
title		Ubuntu 8.10, kernel 2.6.27-9-generic (on /dev/sda1)
root		(hd0,0)
kernel		/boot/vmlinuz-2.6.27-9-generic root=UUID=b43b2556-6f17-4507-a19a-d9d85b1cf6fa ro quiet splash 
initrd		/boot/initrd.img-2.6.27-9-generic
savedefault
boot


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda1.
title		Ubuntu 8.10, kernel 2.6.27-9-generic (recovery mode) (on /dev/sda1)
root		(hd0,0)
kernel		/boot/vmlinuz-2.6.27-9-generic root=UUID=b43b2556-6f17-4507-a19a-d9d85b1cf6fa ro single 
initrd		/boot/initrd.img-2.6.27-9-generic
savedefault
boot


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda1.
title		Ubuntu 8.10, kernel 2.6.27-7-generic (on /dev/sda1)
root		(hd0,0)
kernel		/boot/vmlinuz-2.6.27-7-generic root=UUID=b43b2556-6f17-4507-a19a-d9d85b1cf6fa ro quiet splash 
initrd		/boot/initrd.img-2.6.27-7-generic
savedefault
boot


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda1.
title		Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode) (on /dev/sda1)
root		(hd0,0)
kernel		/boot/vmlinuz-2.6.27-7-generic root=UUID=b43b2556-6f17-4507-a19a-d9d85b1cf6fa ro single 
initrd		/boot/initrd.img-2.6.27-7-generic
savedefault
boot


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda1.
title		Ubuntu 8.10, memtest86+ (on /dev/sda1)
root		(hd0,0)
kernel		/boot/memtest86+.bin  
savedefault
boot

And I copy/paste this in the gedit file?
no matter where?

I'm sorry to have to ask all these questions but I'm really at the beginnig of my linux discovery (3weeks)

Thanks for the answers!
 
Old 01-15-2009, 03:53 PM   #12
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 12,111

Rep: Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985Reputation: 985
That looks like the menu.lst from the internal disk, not the external.

Personally I don't like adding to the menu.lst like that because as (kernel) updates come out for your external system (they will, automatically), you'll not see them because it won't update your boot selection.

A couple more questions before I offer another option - how do you want to use the external ?. Only boot it from this machine, or be able to take it to another machine and boot it there also ?.
Is the external (directly) bootable from the BIOS ?
 
Old 01-15-2009, 04:20 PM   #13
jailbait
Guru
 
Registered: Feb 2003
Location: Blue Ridge Mountain
Distribution: Debian Wheezy, Debian Jessie
Posts: 7,474

Rep: Reputation: 155Reputation: 155
The following section of code is a title section from your internal drive /boot/grub/menu.lst

Code:

title		Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
uuid		21592602-9305-4948-b7e5-19c36bbc5ae0
kernel		/boot/vmlinuz-2.6.27-7-generic root=UUID=21592602-9305-4948-b7e5-19c36bbc5ae0 ro  single
initrd		/boot/initrd.img-2.6.27-7-generic
There are similar title sections in your external drive /boot/grub/menu.lst. Find the title section in your external drive /boot/grub/menu.lst which corresponds to booting into Ubuntu on your external drive. Then copy that title section to be the last title section in your internal drive /boot/grub/menu.lst.

It will then show up on your boot screen list as the last entry on the list. I also recommend that you change the actual title to something like:

title Ubuntu 8.10 on external drive

--------------------
Steve Stites
 
Old 01-15-2009, 08:06 PM   #14
yancek
Senior Member
 
Registered: Apr 2008
Distribution: PCLinux, Ubuntu, Slackware
Posts: 4,528

Rep: Reputation: 705Reputation: 705Reputation: 705Reputation: 705Reputation: 705Reputation: 705Reputation: 705
If your internal hardrive is 160GB, sda, (hd0)
If your external hardrive is 500GB, sdb, (hd1)
If you followed the instructions in my last post, your last post has the menu.lst from the external hardrive. I would suggest that you copy the entry below into your /boot/grub/menu.lst file on the internal drive. Gedit is not a file, it a text editor like notepad/wordpad in windows.

Quote:
title Ubuntu 8.10, kernel 2.6.27-9-generic
uuid 21592602-9305-4948-b7e5-19c36bbc5ae0
kernel /boot/vmlinuz-2.6.27-9-generic root=UUID=21592602-9305-4948-b7e5-19c36bbc5ae0 ro quiet splash
initrd /boot/initrd.img-2.6.27-9-generic
quiet
 
Old 01-16-2009, 03:56 PM   #15
Vanostaajen
LQ Newbie
 
Registered: Jan 2009
Distribution: Ubuntu 8.10
Posts: 25

Original Poster
Rep: Reputation: 15
Oh damn,

who should I believe?

which solution is the best?

extra info: yes I want to be able to boot my external ubuntu on other pc's. And yes I can boot from bios directly.

@Yancek: where exactly do I paste this. and do you really mean quiet? or maybe quit?
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Ubuntu: Installed to external hard drive; boot to primary hard drive gives error 22 dcorb62 Linux - General 7 09-04-2007 11:28 PM
external enclosure for an internal hard drive vs external USB hard drive powah Linux - Hardware 1 03-10-2006 09:03 AM
accidentally installed linux on external hard drive oneferna Linux - General 2 01-28-2006 03:53 PM
External Hard drive + ubuntu yayd Linux - Newbie 9 01-15-2006 08:30 AM
Installing grub to external USB hard drive for later use as internal hard drive dhave Linux From Scratch 2 12-10-2005 08:48 AM


All times are GMT -5. The time now is 11:04 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration