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

Re: Problems with Linux partitions after installing FreeBSD



On Fri, 15 Oct, 1999 à 04:37:21PM -0400, Arcady Genkin wrote:
> Hi all:
> 
> I had a Slink install on my second machine, and I wanted to give
> FreeBSD a try. After I installed it into the first primary partition,
> I can find no way to boot into Linux. I have a boot diskette, which I
> figured I would use, but it isn't happening (the booter loads, prints
> out correctly that it's going to use /dev/hda5 as a root partition,
> but then neither the kernel on the floppy, nor the kernel on the HD
> boot; in the first case, it just hangs after 4 dots, and in the second
> case it just outputs "Boot falure", and boots into FBSD right away).
> 
> I have the following setup of partitions on HD:
> 
> /dev/hda1 FreeBSD (a5)
> /dev/hda2 Linux native (83)
> /dev/hda3 Linux swap (82)
> /dev/hda4 Extended (5)
> /dev/hda5 Linux native (bootable) (83)
> /dev/hda6 Linux native (83)
> /dev/hda7 Linux native (83)
> 
> I tried booting with a rescue disk. It would mount /dev/hda2 w/o
> problems, but not any of the partitions within the extended one.
> 
> When I try to mount /dev/hda5 or /dev/hda7, it says "ufs not supported by
> kernel". When I try to mount /dev/hda6, it gives a screenful of error
> messges having something to do with inodes.
> 
> Any ideas what could have happened?
> 
Yes : your linux kernel is compiled with "BSD Disklabel (BSD partition
tables) support" activated. So your kernel "sees" the partition inside the
FreeBSD slice (/dev/hda1) wich is, at large, similar ton an extended
partition. Your logical partitions are shifted by an amount equal to the
number of the BSD partitions inside the BSD slice. So, boot with rescue disk
and do an fdisk -l, your logical linux partitions are still there but they're now
labelled /dev/hda9, /dev/hda10, /dev/hda11 (I sppose you've only made 4 BSD
partitions).

I think that you can solve the problem with the following procedure :

* boot linux rescue disk
* run fdisk
* write down the *exact* location (I mean the cylinder) of /dev/hda1, hda4,
hda5, hda6 /hda7 (well for the last three they could have differing numbers,
get the position of the logical partition inside /dev/hda4)
* delete hda1, hda4, hda5, hda6 hda7
* create hda4 type a5 on the previous position of hda1
* create hda1 type extended 5 (or 85 as you wish) on the previous position
of hda4 
* recreate /dev/hda5, hda6, hda7 on their previous location.
* double (or triple)-check that you didn't make any mistake. The neat effect
of the suggested procedure is to exchange the "names" of /dev/hda1 and
/dev/hda4 but not their location nor their contents. hda5, 6 and 7 should
also remain untouched.
* if sure write your mods and reboot. Lilo should boot linux but I don't
know if FreeBSD will remains bootable but *all* your datas on any partition
are untouched.
> in case it would be helpful, here's fdisk's output from FreeBSD
> (meanwhile I'll try investigating how to mount those partitions from
> FreeBSD):
> 
> door:/# fdisk
> 
disklabel (I think) would be far more useful... It would give the partitions
inside the BSD slice. As I don't use BSD, I'm not sure of the name of tis
programm.

HTH 

-- 
 ( >-   Laurent PICOULEAU                                      -< )
 /~\       lcrpic@a2points.com                                  /~\
|  \)    Linux : mettez un pingouin dans votre ordinateur !    (/  |
 \_|_    Seuls ceux qui ne l'utilisent pas en disent du mal.   _|_/


Reply to: