mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-23 07:39:22 +00:00
253 lines
7.7 KiB
Plaintext
253 lines
7.7 KiB
Plaintext
@node FAQ
|
|
@appendix Frequently asked questions
|
|
|
|
@table @asis
|
|
@item How does GNU GRUB differ from Erich's original GRUB?
|
|
|
|
GNU GRUB is the successor of Erich's great GRUB. He couldn't work on
|
|
GRUB because of some other tasks, so the current maintainer Gordon
|
|
Matzigkeit took over the maintainership, and opened the development in
|
|
order for everybody to participate it.
|
|
|
|
Technically speaking, GNU GRUB has many features that are not
|
|
seen in the original GRUB. For example, GNU GRUB can be installed on
|
|
UNIX-like operating system (such as GNU/Linux) via the grub shell
|
|
@file{/sbin/grub}, it supports Logical Block Address (LBA) mode that
|
|
solves the 1024 cylinders problem, and @kbd{@key{TAB}} completes a
|
|
filename when it's unique. Of course, many bug fixes are done as well,
|
|
so it is recommended to use GNU GRUB.
|
|
|
|
@item Can GRUB boot my operating system from over 8GB hard disks?
|
|
|
|
That depends on your BIOS and your operating system. You must make
|
|
sure that your drive is accessible in LBA mode. Generally, that is
|
|
configurable in BIOS setting utility. Read the manual for your BIOS
|
|
for more information.
|
|
|
|
Furthermore, some operating systems (i.e. DOS) cannot access any large
|
|
disk, so the problem is not solved by any kind of boot loader. GNU/Hurd
|
|
and GNU/Linux can surely boot from such a large disk.
|
|
|
|
@item Can I put Stage2 into a partition which is over 1024 cylinders?
|
|
|
|
Yes, if your BIOS supports the LBA mode.
|
|
|
|
@item How to create a GRUB boot floppy with the menu interface?
|
|
|
|
The easiest way is:
|
|
|
|
@enumerate
|
|
@item
|
|
Create filesystem in your floppy disk. For example:
|
|
|
|
@example
|
|
$ mke2fs /dev/fd0
|
|
@end example
|
|
|
|
@item
|
|
Mount it on somewhere, say, @file{/mnt}.
|
|
|
|
@item
|
|
Copy the GRUB images to @file{/mnt/boot/grub}. Only @file{stage1},
|
|
@file{stage2} and @file{menu.lst} are necessary. You may not copy
|
|
@dfn{stage1.5}s.
|
|
|
|
@item
|
|
Run the following command:
|
|
|
|
@example
|
|
$ /sbin/grub --batch <<EOT
|
|
root (fd0)
|
|
setup (fd0)
|
|
quit
|
|
EOT
|
|
@end example
|
|
@end enumerate
|
|
|
|
@item How to specify a partition?
|
|
|
|
@xref{Device syntax}.
|
|
|
|
@item GRUB does not recognize my GNU/Hurd partition.
|
|
|
|
I don't know why, but the authors of FDISK programs have assigned the
|
|
partition type @samp{0x63} to GNU Hurd incorrectly. A partition type
|
|
should mean what format is used in the partition, such as filesystem and
|
|
BSD slices, and should not be used to represent what operating system
|
|
owns the partition. So use @samp{0x83} if the partition contains ext2fs
|
|
filesystem, and use @samp{0xA5} if the partition contains ffs
|
|
filesystem, whether the partition owner is Hurd or not. We will use
|
|
@samp{0x63} for GNU Hurd filesystem that has not been implemented yet.
|
|
|
|
@item I've installed a recent version of binutils, but GRUB still crashes.
|
|
|
|
Please check for the version of your binutils by this command:
|
|
|
|
@example
|
|
$ ld -v
|
|
@end example
|
|
|
|
This will show two versions, but only the latter is important. If the
|
|
version is identical with what you have installed, the installation was
|
|
not bad.
|
|
|
|
Well, please try:
|
|
|
|
@example
|
|
$ gcc -Wl,-v 2>&1 | grep "GNU ld"
|
|
@end example
|
|
|
|
If this is not identical with the result above, you should specify the
|
|
directory where you have installed binutils for the script configure,
|
|
like this:
|
|
|
|
@example
|
|
$ ./configure --with-binutils=/usr/local/bin
|
|
@end example
|
|
|
|
If you follow the instructions above but GRUB still crashes, probably
|
|
there is a serious bug in GRUB. @xref{Reporting bugs}.
|
|
|
|
@item GRUB hangs up when accessing my SCSI disk.
|
|
|
|
Check if you have turned on the support for INT 13 extension (LBA). If
|
|
so, disable the support and see if GRUB can now access your SCSI
|
|
disk. This will make it clear that your SCSI BIOS sucks.
|
|
|
|
For now, we know the following doesn't provide working LBA mode:
|
|
|
|
@table @asis
|
|
@item
|
|
Adaptec AIC-7880
|
|
@end table
|
|
|
|
In the case where you have such a SCSI controller unfortunately, you
|
|
cannot use the LBA mode, though GRUB still works fine in the CHS mode
|
|
(so the well-known 1024 cylinders problem comes again to you).
|
|
|
|
@strong{Caution:} Actually it has not been verified yet if this bug is
|
|
due to the SCSI BIOS or GRUB itself, frankly speaking. Because the
|
|
developers haven't seen it by their own eyes. This is why it is
|
|
desirable that you investigate the cause seriously if you have the
|
|
skill.
|
|
|
|
@item Why don't Linux, FreeBSD, NetBSD, etc. become Multiboot-compliant?
|
|
|
|
Please ask the relevant maintainers. If all free kernels were
|
|
Multiboot-compliant (@pxref{Top, Multiboot Specification, Motivation,
|
|
multiboot, The Multiboot Specification}), the world would be an
|
|
utopia@dots{}
|
|
@end table
|
|
|
|
|
|
@node Obtaining and Building GRUB
|
|
@appendix How to obtain and build GRUB
|
|
|
|
@quotation
|
|
@strong{Caution:} GRUB requires binutils-2.9.1.0.23 or later because the
|
|
GNU assembler has been changed so that it can produce real 16bits
|
|
machine code between 2.9.1 and 2.9.1.0.x. The latest version can be
|
|
obtained from:
|
|
|
|
@url{ftp://ftp.varesearch.com/pub/support/hjl/binutils/}
|
|
@end quotation
|
|
|
|
@c Do not change alpha.gnu.org:/gnu/grub to the URI, since TeX does
|
|
@c not format it well.
|
|
GRUB is available from the GNU alpha archive site
|
|
@url{alpha.gnu.org:/gnu/grub} or any of its mirrors. The file
|
|
will be named grub-version.tar.gz. The current version is
|
|
@value{VERSION}, so the file you should grab is:
|
|
|
|
@url{ftp://alpha.gnu.org/gnu/grub/grub-@value{VERSION}.tar.gz}
|
|
|
|
To unbundle GRUB use the instruction:
|
|
|
|
@example
|
|
zcat grub-@value{VERSION}.tar.gz | tar xvf -
|
|
@end example
|
|
|
|
which will create a directory called @file{guile-@value{VERSION}} with
|
|
all the sources. You can look at the file @file{INSTALL} for detailed
|
|
instructions on how to build and install GRUB, but you should be able to
|
|
just do:
|
|
|
|
@example
|
|
@group
|
|
$ cd grub-@value{VERSION}
|
|
$ ./configure
|
|
$ make install
|
|
@end group
|
|
@end example
|
|
|
|
This will install the grub shell @file{grub} (@pxref{Invoking the grub
|
|
shell}), the Multiboot checker @file{mbchk} (@pxref{Invoking mbchk}),
|
|
and the GRUB images It will also install the GRUB manual.
|
|
|
|
Also, the latest version is available from the CVS. The repository is:
|
|
|
|
@code{:pserver:anoncvs@@subversions.gnu.org:/home/cvs}
|
|
|
|
and the module is:
|
|
|
|
@code{grub}
|
|
|
|
The password for anoncvs is empty. So the instruction is:
|
|
|
|
@example
|
|
@group
|
|
$ cvs -d :pserver:anoncvs@@subversions.gnu.org:/home/cvs \
|
|
login
|
|
Password: @key{ENTER}
|
|
$ cvs -d :pserver:anoncvs@@subversions.gnu.org:/home/cvs \
|
|
checkout grub
|
|
@end group
|
|
@end example
|
|
|
|
Get the recent version of GNU Automake from the CVS to regenerate
|
|
@file{Makefile.in}s. See @url{http://sourceware.cygnus.com/automake/},
|
|
for more information.
|
|
|
|
|
|
@node Reporting bugs
|
|
@appendix Reporting bugs
|
|
|
|
When you encounter any problem or bug, please submit it to
|
|
@email{bug-grub@@gnu.org} with information about your computer and what
|
|
you did @emph{as much as possible}. Take a look at this list before you
|
|
send e-mail to the address:
|
|
|
|
@itemize @bullet
|
|
@item
|
|
Write what you did and what messages were printed on the screen in
|
|
detail. Don't paraphrase them. Please describe them as they were.
|
|
|
|
@item
|
|
Explain what you wanted to do. It is very useful to know your purpose
|
|
and your wish, and how GRUB didn't satisfy you.
|
|
|
|
@item
|
|
Inform us of the information about your GRUB. What version were you
|
|
using? Which were you using the grub shell or the boot images? If using
|
|
the grub shell, tell us what operating system was used to run it. And,
|
|
if you ran @command{configure} with some options when building GRUB, it
|
|
would be a good thing to let us know how to build it.
|
|
|
|
@item
|
|
The information on your hardware is also essential. These are especially
|
|
important: the geometries and the partition tables of your hard disk
|
|
drives and your BIOS.
|
|
|
|
@item
|
|
Write down anything that you think might be related. If you are not sure
|
|
whether to state a fact or leave it out, state it! Reporting too many
|
|
things is quite better than omitting an important thing.
|
|
@end itemize
|
|
|
|
|
|
@node Index
|
|
@unnumbered Index
|
|
|
|
@c Currently, we use only the Concept Index.
|
|
@printindex cp
|