Grub 2 devs actually want to implement animations and style sheets into their theming. http://www.gnu.org/software/grub/grub-soc.html
As someone who has made a lot of grub themes, I would love this so much because as of now, your creativity gets a little hampered.
Actually, you don't even need a kernel that has the badram patch.
You can specify the same badram option in Grub (instead of a kernel option), and it'll work with any Linux kernel, as Grub gives a memory map to the kernel on boot.
Does the Windows EFI bootloader require that the OS be installed on the same physical drive as the ESP (EFI System Partition)? Does your Acer support UEFI booting? It's possible you can have the ESP on the spinner but point it to an installation on the mSATA drive.
If you're stuck with MBR, what you're looking to do is "chainload" Windows with a boot-loader. Re:
(Sorry I can't be more specific, but I'd rather chew my own arm off than install Windows on a computer of mine, so I have no direct experience.)
I use LILO and it's had options for password locking the kernel command line or locking entire boot entries since damn near time immemorial.
Edit: And the GRUB manual has http://www.gnu.org/software/grub/manual/grub.html#Security
/etc/default/grub
GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true
sudo update-grub
http://www.gnu.org/software/grub/manual/grub/grub.html#Simple-configuration
The command <code>grub-mkconfig</code> should update the configuration file to only show the currently installed OSes.
>The program grub-mkconfig
generates grub.cfg
files suitable for most cases. It is suitable for use when upgrading a distribution, and will discover available kernels and attempt to generate menu entries for them. emphasis added
Chances are that grub-mkconfig
gets run as part of the install process. If not, you can just run it manually.
http://www.gnu.org/software/grub/manual/grub.html#Naming-convention
>Here, ‘hd’ means it is a hard disk drive. The first integer ‘0’ indicates the drive number, that is, the first hard disk, the string ‘msdos’ indicates the partition scheme, while the second integer, ‘2’, indicates the partition number (or the PC slice number in the BSD terminology). The partition numbers are counted from one, not from zero (as was the case in previous versions of GRUB). This expression means the second partition of the first hard disk drive. In this case, GRUB uses one partition of the disk, instead of the whole disk.
I don't think so, but accidentally found this: http://www.gnu.org/software/grub/manual/html_node/Vendor-power_002don-keys.html#Vendor-power_002don-keys
However,you can change the default to load from within the currently running OS. It just means, you have to potentially boot the wrong when you power up, except you always want to boot the same, first, thus reset it after each boot.
Also, you could have another boot loader on another drive (e.g. USB) with a different default, and have it higher in the boot order. So when the USB is in it boots OS #2 otherwise OS #1.
What OS is on the main drive? You said you were new to Linux, so I'm assuming Windows of some type.
XP:
1) Boot from CD, choose 'R' to get to recovery console
2) Select your installation (prolly 1)
3) type:
FIXMBR <enter>
FIXBOOT <enter>
4) reboot
Vista/7:
1) Boot from CD and choose option to repair your computer from the Window that asks if you want to isntall
2) Click on the option for command prompt
3) type
BOOTREC /FIXMBR <enter>
BOOTREC /FIXBOOT <enter>
BOOTREC /SCANOS <enter>
BOOTREC /REBUILDBCD <enter>
If it was Linux of some sort, read this about reinstalling grub.
Probably what happened was you didn't select where to install the bootloader during the installation, so it ended up putting some onto the MBR of your first BIOS drive and the rest on the flash drive making both necessairy.
GNU GRUB is a Multiboot boot loader. It was derived from GRUB, the GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn.
> Briefly, a boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to an operating system kernel software (such as Linux or GNU Mach). The kernel, in turn, initializes the rest of the operating system (e.g. a GNU system).
> GNU GRUB is a very powerful boot loader, which can load a wide variety of free operating systems, as well as proprietary operating systems with chain-loading. GRUB is designed to address the complexity of booting a personal computer; both the program and this manual are tightly bound to that computer platform, although porting to other platforms may be addressed in the future.
> One of the important features in GRUB is flexibility; GRUB understands filesystems and kernel executable formats, so you can load an arbitrary operating system the way you like, without recording the physical position of your kernel on the disk. Thus you can load the kernel just by specifying its file name and the drive and partition where the kernel resides.
What they don't mention is that GRUB also understands encryption.
On an EFI system, GRUB is installed to the EFI System Partition. On an MBR system, typically it's wedged “in the area between the MBR and the first partition (called by various names, such as the "boot track", "MBR gap", or "embedding area", and which is usually at least 31 KiB)”.
So, it's to GRUB that you're giving a password. It then uses that to unlock (at least) the /boot
volume, which is where the kernel image and initramfs are kept. And those two finish the boot process, and unlock all the encrypted volumes in /etc/crypttab
.
Check: www.gnu.org/software/grub/manual/grub.html#Command_002dline-and-menu-entry-commands. Neither "kernel" or "root" are Grub2 commands.
Maybe try <code>linux</code>?
Nope. According to the grub manual, you can do it either way.
Now, some defective distros (ubuntu...) run grub-mkconfig after each upgrade and tell you grub.cfg should never be edited by hand. Arch does not.
There's a possibility that the recovery process has completed more or less successfully, it just hasn't written the new Master Boot Record (The first sector of the disk that tells the computer how to load up the operating system).
If you have a rescue disk, or any disk that can get you to a dos/windows command prompt, I think you can type something like fdisk c: /MBR to rewrite the boot record. you might then have to run fdisk again without the /MBR option to set the active boot partition. You might even be able to do this with a few clicks from the windows disk manager.
You can no doubt get windows to start from the grub rescue > prompt, and once you get windows to load you can run 'cmd' (the command prompt) and do fdisk c: /MBR from there. I haven't done this in a while so i'm making a bit of a guess here. If you type 'ls' at the grub prompt (without the quotes) I believe it should list the available devices it sees, it should be something like (fd0) (hda0) (hda1)... your hard disk might be hda(x) or sda(x) (x is a number).
I think you can then boot a partition directly by typing 'chainloader /hda0'. You may have to experiment with getting the right partition. The grub manual can be found here.
To be honest, you won't need more than 500MB. This could easily fit on a flash drive with an internal USB header.
Here's the one I'm familiar with. All the documentation you'll need to run it is on the web site.
It's presumably related, but if just one drive is dying, that shouldn't fubar the array.
It's too late now, but I believe there are things you could have checked through GRUB to get a better idea of what it was unhappy about. (See: GRUB Docs)
You also might have booted to a LiveCD that supports mdadm
, such as Parted Magic, to sniff around the drives and try to figure out what's what.
>took 6 hours to clear the drives.
Um, what?
GRUB2 Supports md RAID (all levels)
http://www.gnu.org/software/grub/manual/grub.html#Changes-from-GRUB-Legacy
"GRUB 2 can read files directly from LVM and RAID devices."
"For crypto and RAID (md) additionally you can use the syntax <driver name>uuid/<uuid>. EX: (md/myraid) or (md/0)"
MBR = Master Boot Record (which is a DOS thing, BTW)
>the hard drive that I want it to install too, but not my other hard drives.
If you want to dual-boot, you need to have the HDD from which you normally boot installed. The Ubuntu installer will put GRUB on that, and GRUB will direct what gets booted. (See also: GNU GRUB.)
I suppose you could disconnect the other hard drives and install Ubuntu to a lone drive, then physically plug and unplug drives to decide what to boot. Sounds like a royal PITA to me. Note that you have to disconnect both the power and the PATA/SATA cable for the BIOS to ignore a drive, AFAIK.
In theory you could go through the BIOS to choose what HDD to boot from, but IME the BIOS has its own ideas about what the boot priority of devices is. (On one of my Mobos, it will boot from a HDD attached to the IDE/PATA channel before a SATA device no matter what you tell the BIOS to boot from.)
In general, resizing partitions isn't actually all that feasible, or really all that good of an idea, especially since it's not so easy to just move the start or end of a partition and not mess up its data layout.
However, transferring the data around to a new partition, then reinstalling grub would be possible without any headaches. Might suggest doing that.
Oh, and if you're worried about it, just make a Super Grub Disk. If you have that, even if you screw it up, you can still boot just fine.
When grub, or other multiboot compliant boot loaders invoke your operating system they've already done some work to help you out. If the EAX register is set to 0xbadb002, it means you were booted by a multiboot compliant boot loader and that you can trust the EBX register contains a valid memory map structure.
With a gpt partition table, don't use fdisk.
You need to more precisely follow instructions. For instance, in parted you type set 2 bios_grub on
, but partition 2 is a 238gb ext4 partition. But if you need a BIOS-boot partition, because you intend to bios boot and you have a gpt partition table, then your BIOS-boot partition only needs to be 31 KiB in size and needs to not be formatted. http://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html
In order to get all this to work you might have to disable uefi-booting in bios.
Does it mean all this list could possibly work ?
The currently supported filesystem types are Amiga Fast FileSystem (AFFS), AtheOS fs, BeFS, BtrFS (including raid0, raid1, raid10, gzip and lzo), cpio (little- and big-endian bin, odc and newc variants), Linux ext2/ext3 /ext4, DOS FAT12/FAT16/FAT32, exFAT, HFS, HFS+, ISO9660 (including Joliet, Rock-ridge and multi-chunk files), JFS, Minix fs (versions 1, 2 and 3), nilfs2, NTFS (including compression), ReiserFS, ROMFS, Amiga Smart FileSystem (SFS), Squash4, tar, UDF, BSD UFS/UFS2, XFS, and ZFS (including lzjb, gzip, zle, mirror, stripe, raidz1/2/3 and encryption in AES-CCM and AES-GCM) http://www.gnu.org/software/grub/manual/grub.html
When referring to a specific device with GRUB, do so using the following format (note that the parentheses and comma are very important syntactically):
(<type-of-device><bios-device-number>,<partition-number>)
The <type-of-device> specifies the type of device from which GRUB boots. The two most common options are hd for a hard disk or fd for a 3.5 diskette. A lesser used device type is also available called nd for a network disk. Instructions on configuring GRUB to boot over the network are available online at http://www.gnu.org/software/grub/manual/.
The <bios-device-number> is the BIOS device number. The primary IDE hard drive is numbered 0 and a secondary IDE hard drive is numbered 1. This syntax is roughly equivalent to that used for devices by the kernel. For example, the a in hda for the kernel is analogous to the 0 in hd0 for GRUB, the b in hdb is analogous to the 1 in hd1, and so on.
The <partition-number> specifies the number of a partition on a device. Like the <bios-device-number>, most types of partitions are numbered starting at 0. However, BSD partitions are specified using letters, with a corresponding to 0, b corresponding to 1, and so on.
The Grub2 documentation is a decent place to start for these concepts: http://www.gnu.org/software/grub/manual/grub.html.
I suspect a lot of this info will be new to you. Take your time and research every new term until you thoroughly understand it. There are a lot of components, so do not expect an easy, short, ELI5 thing here.
I think you try to load your kernel from within Grub? It looks like (at least according to your error message) that the multiboot header is wrong or has wrong flags.
Has your kernel file the correct layout for the Multiboot header?
Maybe you can compile some code that has already worked like this one and modify it?
Hmm, when comparing the multiboot header with your code it lacks the flags completely between MAGIC_NUMBER and CHECKSUM?
> I was told that MBR has a gap where bios files reside and when using GPT to act as this gap you need a bios boot partition along with the boot partition for the grub. Is this true?
This is true if you are on a BIOS System, or use BIOS compatibility mode on a modern system. See http://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html
GRUB goes into /boot/grub (wherever that happens to be physically, depending on your mountpoints.) Other than that, there's the tiny bit of code that goes into the MBR, which helps load the real GRUB using a hardcoded physical location, since it doesn't understand partition tables or filesystems.
http://www.gnu.org/software/grub/manual/html_node/Images.html#Images
END OF PASTA It should be similar to a post on another sub. I usually copy a post-in-writing when changing apps on my tablet because the reddit app I use will discard it if it's harvested for memory by the system.
Ok nice! Your second link shows how to use a grub.cfg on another partition, which appears to be an undocumented feature (ed: actually, documented here). Trial and error reveals that the HDs are indexed from 0 while the partitions are indexed from 1. I did the opposite of you which is to put the configfile pointing at arch (on /dev/sda1) into my nixos grub, like so:
boot.loader.grub = { enable = true; version = 2; device = "/dev/sda"; extraEntries = '' menuentry 'Arch Linux' { configfile (hd0,1)/boot/grub/grub.cfg } ''; };
This works but it still gets the 'symbol table' error. I think maybe it needs the grub program on the arch partition but its using the one on the nixos partition. Or something. At some point I'll try flipping it the other way, using the arch grub to point at nixos grub, that might work better. At any rate although I get the error arch seems to work ok, and as you say with this method both grub menus stay up to date with new kernels and etc.
The big question is, what do you intend to use it for. OS X in my opinion is a very refined system that still provides nearly all of the features of a *nix OS and gives me the ability to use commercial software as well.
Apple hardware does have a premium added to it but I've yet to use (and abuse) something from Dell, HP, et al, that can hold up as well as a MacBook Pro. No matter what people say, few can beat the longevity that comes with Apple hardware. You can easily have a dual boot system using BootCamp on an Apple device for a multi OS support or GRUB on other devices.
That being said, you're going to have a tough time finding something robust and well designed for under a grand. If price is the main factor, try something from Asus. I've had fewer hardware driver issues with them vs. a laptop from Dell and Samsung. I almost have a suspicion that Dell actively cripples its devices if you install anything remotely different from the OEM Windows it comes bundled with.
It's got the typical oversized power supply syndrome, although there doesn't seem to be anything cheaper that's also quiet.
You could significantly lower the budget by buying a used office computer. I got a lenovo dual core box for ~70$, put in a large semi-broken CPU cooler with a damaged heatpipe, an nVidia GTX630 GPU for hardware video decoding (used, 35$).
The RAM had some bad blocks, but Linux doesn't care; though it came with a 150 gig WD Raptor drive, which is cool. I installed three 4TB drives for storage that blew the budget out of the water, but that's beside the point. The base system without the raid pool was had for a little more than 100$.
The official manual for grub2 is here, but on recent versions of grub (including those in 12.04) it's usually as easy as the two commands above.
If you have any specific questions I'm happy to try to answer them.
I had a similar problem in the past. Though installing Windows after Ubuntu is not generally advised and is much more difficult than installing Ubuntu second, it is still possible. The easiest solution is probably to reinstall GRUB. If you have an Ubuntu LiveCD, you can boot from there and use a program called boot-repair. To do this, boot from the liveCD and use Ctrl+Alt+T to open a terminal and type
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
After it finishes installing, boot-repair should automatically run. If not, I believe you can just launch it like any other application. When I had this issue I just used the recommended repair to fix GRUB, so as far as I know that should work. Once it's done, upon reboot you should find a GRUB menu that allows you to boot into either Windows or Ubuntu. Best of luck, and I hope this helped.
>I'm taking huge chances here, but I don't really have the time.
And how long will it take to replace everything if its lost? (Not that I haven't taken similar shortcuts myself.)
>My only concern now is booting with grub.
I haven't much experience with grub. One of the (many) advantages of going over entirely to linux (or FreeBSD or what have you) is that your boot config is pretty straight forward.
Anyway, the first question is: are you using GRUB (formerly known as GRUB2), GRUB Legacy (formerly known as GRUB) or BURG (a fork of GRUB2).
Short version—find out which is these following files exists:
/boot/burg/burg.cfg /boot/grub2/grub.cfg /boot/grub/menu.lst
A live-usb will work just as well. GRUB shouldn't really give you any problems, unless you went out of your way to install it on your partition. Here's the relevant section of the manual, but you might want to be sure to have another computer nearby if anything does go wrong that needs googling. Ideally all you'll need to do after deleting the old partition and growing the other one (with live-usb booted gparted) is to reboot and run 'sudo update-grub' it should remove the old Ubuntu entries. If it does fail you may have to boot into a live-usb and run 'sudo grub-install /dev/sda' assuming you only have one drive (I think tab-completion will show you what devices you have, but not 100%). Either way, BACK UP YOUR DATA! before doing this sort of stuff. That way if you screw up, all you loose is the time it takes to re-install and restore.
edit: Also, if you want to play with different Ubuntu derivatives all you need to do is to install the meta-package for that desktop. For example if you decide to play with XFCE instead all you need to do is run 'sudo apt-get install xubuntu-desktop' and pick it as your session when you reboot, no partitioning required.
Thinking out loud: If you formatted /boot as FAT32 or NTFS, couldn't Windows mount that partition? Then, from Windows you could modify grub.conf ? (Or, better yet, just copy some configuration—if you edit the file, there's the whole EOL thing.)
Never mind all that. I'm thinking you need this: savedefault
You can set the menu entry for Windows to set the default back to Linux. So, in Linux, you change the default to Windows, then when you boot Windows, it automatically changes the default back to Linux.
Anyway, to add some fun, savedefault doesn't exist in GRUB2 (a.k.a., GRUB). It has save_env, which lets you save things to the GRUB environment block.
That would be a lot of fstab entries, about 10 or so (trying to have it running permanently). I was looking into the pxe setup for GRUB, since it can boot iso files, but from what I have read just about all distros out there if they boot from an iso (or CD/DVD) they will eventually look for an optical drive. Upon not finding one mounted it will fail. Also the real trouble I've had is booting isolinux on some distros, I'll take a look at paxlinux to see if that will help.
I mean the usual usage of bloat: excessively complex and feature-laden. Grub as a system just is a tad bloaty compared to simpler bootloaders, it's pretty obvious.
> It's not even in memory once the operating system starts up.
That's not especially relevant to whether its bloated, it just means the bloat doesn't impact later operation all that much - except of course when you're trying configure it.
Now, actually, the syslinux suite has a facility for loadable modules that can do all sorts of weird stuff, so I'm being somewhat hyperbolic, but the syslinux architecture makes them more optional and feels less alien to the linux/unix way (grub famously even has its own quirky partition naming conventions). All I need the fucker to do in the common case is load linux from linux-native ext-family filesystems, which extlinux does with no nonsense, hence the name, yet without lilo's inconvenience (since extlinux groks ext-family filesystems whereas lilo relies on a map to raw locations, so you need to rerun lilo each update...)
edit: additionally, it's also convenient in that extlinux uses the very same conventions as the other bootloaders in the syslinux suite like isolinux (cd booting) and pxelinux (net booting), which seem to be more widely known than extlinux for whatever reason (i.e. If you've ever made a bootable linux live cd or usb key or netbooted something, chances are you already used the syslinux family bootloaders...)
Thanks for looking that up. That is the right router, but the wrong file. What I need is the Jungo bootloader for the MI424WR. If you know Linux, you can think of it as the GRUB to your link's Linux kernel.
you can, if you don't mind a bit of fiddling^1, but in all probability you will be better off buying a new pen drive.
1: The process you need to go through basically involves 3 steps.
making an install media partition of ~2gb with gparted or similar. After that you need to get something like tuxboot to install your installation .iso to this from your windows partition, format this partition to fat 16 or 32. preferably make this partition at the end of your table as its easier to delete.
making this partition bootable, easiest is by setting up grub, go to
https://gna.org/projects/grub4dos/ and download w32grub.zip , it contains the GRUB boot loader.unzip it to c:\ then run c:\boot\grub\w32grubThis should patch the necessary files Then add:
c:\boot\stage1="GRUB" to c:\boot.ini
Have a quick read of this at this point:
http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration
Its fairly strait forward and in following that you should be pretty confident of not adding the wrong partition as your install partition.
After your happy with that...
Reboot and install from your install partition to your new partition, after ubuntu's installed you can add this space back into your windows partition. (side note, during install ubuntu/whatever should re-write grub, if not its only a 5 minuet job to remove this from grub/burg afterwards)
I went to the site you suggested. It didn't help but it had a link to the grub manual. I read over the relative parts and didn't really know how to go about organizing the code, so I decided to attempt some trial and error. I dropped the second line from the working entry: map (hd1) (hd0) and tried it to see if it would still boot.
It did. And I was done, but I just didn't know it.
I'd been physically unplugging the XP drive to boot to the W7 drive. With both plugged in and sans pen drive, the system would default to XP as dictated in the bios. I was in W7 when I deleted that one line with XP disconnected. I rebooted, choose my option, and it went straight to W7.
I then hooked the XP drive back up and put in some entries from the grub manual, all to no avail. On one of my many restarts, I hit upon the one-line-less entry and it booted to XP. For about three hours, I figured that the entry only worked before because XP wasn't hooked up, and that once XP was hooked up, the entry just went with the first drive.
Anyways, for whatever reason, the following works:
title Boot Windows 7
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (hd0)+1
rootnoverify (hd0)
title Boot Windows XP 64
map (hd0) (hd1)
map --hook
chainloader (hd0)+1
rootnoverify (hd0)
TL;DR - I dropped a line and that fixed it. Thanks for the help! Have some Waters of March.