grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to install grub on fakeraid (raid 0) which spans 2 TB?


From: André Heynatz
Subject: Re: How to install grub on fakeraid (raid 0) which spans 2 TB?
Date: Thu, 24 Dec 2009 00:05:42 +0100

> André Heynatz wrote:
> > I have bought two 1 TB harddisks and one 2 TB harddisk (backup).
> > I want to use the 1 TB harddisks in a RAID 0 array (Intel ICH8R
> Fakeraid).
> > 
> > OS: Win XP SP3, Win 7, Ubuntu Linux 9.10 32 Bit
> > 
> > My partition plan 1:
> > 
> > P ntfs  300 GB Windows XP SP3 32 Bit
> > P ntfs  300 GB Windows 7 32 Bit
> > E
> > L swap    2 GB Linux swap
> > L ext4  250 GB Ubuntu Linux 9.10 (Karmic) 32 Bit
> > L ntfs 1100 GB data (for data exchange and storage)
> > L ext4   48 GB spare space for testing of new OSes
> 
> I'd suggest:
> 
> P ext2  100 MB /boot
> P ntfs  300 GB Windows XP SP3 32 Bit
> P ntfs  300 GB Windows 7 32 Bit
> E
> L swap    2 GB Linux swap
> L ext4  250 GB Ubuntu Linux 9.10 (Karmic) 32 Bit
> L ntfs 1100 GB data (for data exchange and storage)
> L ext4   48 GB spare space for testing of new OSes
> 
> There is no need for /boot to be on a raid or other 'special' partition 
> type.
> 
>    -- Bruce

Hello Bruce,

thanks for the suggestion. But in order to do this I would need to remove the 
perfectly working Windows XP and Windows 7 systems to do this which would be a 
pity. I feel that Linux just CAN do it with Fakeraid, only a tiny bit of work 
is needed for support. I managed to install Linux on Fakeraid three years ago, 
with a complicated procedure. It worked like a charm, until I needed more 
capacity. This time it is a little bit more difficult to get to a solution. I 
do not care if it is GRUB1 or GRUB2, it should work with both because we are at 
a turning point and cannot neglect the fact that we need a transition period. I 
assume that GRUB is to serve users well of course.
My only explanation for the failure of GRUB1 the second time is that there is 
some overflow happening because of the huge sector counts. If a sector count is 
stored in a 32 Bit Integer (int), there may be a problem if the sector count 
exceeds 0x7fffffff, which is 1 TB. My first partition plan lets GRUB use a 
sector count below 0x80000000, my second partition plan lets the Linux system 
partition be at a sector address definitely above 0x7fffffff, which may 
overflow. In general, signedness should be cared about. But in this case it 
would be even better to use a 64 Bit sector address to accomodate for LBA48 (or 
LBA64?). Hard disk sizes can only increase, and I read about people using 
RAID-5 with 6 TB capacity and needing to go to GUID partition tables (GPT) 
because one partition is to be larger than 2 TB. Windows Vista and Windows 7 
support this EFI feature. I am sure Linux does it too, at least Ubuntu Linux 
which I use has UIDs even in the GRUB1 configuration (probably patched).
I return to partition plan 1 and create the whole partition table with Windows 
7 which should be recent enough to handle the size of the disks. The newest 
Intel Matrix driver should work flawlessly. Afterwards I install Ubuntu Linux 
near the other system partitions which was my original plan. Especially Windows 
XP 32 Bit is unsupported in this area (by intent) so I should not depend on it 
to deal with a partition table. Firstable I try Ubuntu 10.04 GRUB2, then if it 
does not work I try Ubuntu 9.10 GRUB1 (most recent update).

My old computer without RAID uses GRUB2, and it works flawlessly. Keep up the 
good work! There will always be special cases which need some attention. We get 
closer to a "just works" system which would attract many new users. It is not 
the design which sells systems, maybe later it is, but now it still is the 
lacking functionality or compatibility which drives users away.

I wish you all a Merry Christmas!

Greetings,

André

-- 
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01




reply via email to

[Prev in Thread] Current Thread [Next in Thread]