mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-25 08:39:28 +00:00
205 lines
5.9 KiB
Plaintext
205 lines
5.9 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 (i.e. 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. As long
|
|
as I know, at least GNU/Hurd and GNU/Linux can 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 Why doesn't Linux (FreeBSD, NetBSD, etc.) become Multiboot-compliant?
|
|
|
|
Please ask the 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/hurd/src 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/hurd/src} 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/hurd/src/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@@anoncvs.gnu.org:/gd/gnu/anoncvsroot}
|
|
|
|
and the module is:
|
|
|
|
@code{grub}
|
|
|
|
The password for anoncvs is empty. So the instruction is:
|
|
|
|
@example
|
|
@group
|
|
$ cvs -d :pserver:anoncvs@@anoncvs.gnu.org:/gd/gnu/anoncvsroot \
|
|
login
|
|
Password: @key{ENTER}
|
|
$ cvs -d :pserver:anoncvs@@anoncvs.gnu.org:/gd/gnu/anoncvsroot \
|
|
co 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}. For example, your operating system,
|
|
the geometries of your drives and the version of GRUB are very
|
|
important.
|
|
|
|
|
|
@node Index
|
|
@unnumbered Index
|
|
|
|
@c Currently, we use only the Concept Index.
|
|
@printindex cp
|