ubuntuusers.de

Btrfs, Grub in MBR und PBR

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

undine

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Hallo Leute,

ich möchte das BtrFs Dateisystem ausprobieren, dabei soll Grub auf die Btrfs-Partition installiert werden.

Ist das überhaupt möglich?

Installiert habe ich Oneiric auf eine logische Btrfs Partition. Starten kann ich es jedoch nicht.

Es sind zwei Verzeichnisse auf der Partition:

"@"

und

"@home"

Grub ließ sich nicht installieren.

Ist das überhaupt richtig mit dem "@" und "@home"? So etwas habe ich nie gesehen.

Die SuperGrub2Disk konnte das System auch nicht starten.

Wie kann ich mein Btrfs Oneiric starten?

MfG

undine

Bearbeitet von tomtomtom:

Titel und Ubuntu-Version auf Wunsch geändert.

Moderiert von tomtomtom:

Ins passende Forum verschoben. Bitte beachte die Themenstickies.

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi undine,

du schriebst:

ich möchte das BtrFs Dateisystem ausprobieren, dabei soll Grub auf die Btrfs-Partition installiert werden.

Ist das überhaupt möglich?

Nein.

Ist das überhaupt richtig mit dem "@" und "@home"?

Nein, es heisst / bzw. /home, zumindest, falls btrfs da keine Sonderbehandlung noetig macht. Siehe evtl. auch btrfs.

Wie kann ich mein Btrfs Oneiric starten?

Installiere Grub auf eine ext-Partition.

Gruss Lasall

undine

(Themenstarter)

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Hallo Lasall,

definitiv hat sich bei zweimaliger Installation ein "@" vor das "home" geschrieben ––→ "@home" Und ein ein Einzel-@.

Das wunder ich miche woher das kommt.

Im Verzeichnis "Einzel-@" sind die Verzeichnisse u. Dateien die in "/" liegen.

Und im Verzeichnis "@home" sind die Verzeichnisse und Dateien die sont in "home" liegen.

Die logische Partition habe ich durch den Installer mit Btrfs formatiert und die Installation durchlaufen lassen.

Woher kommt bloß das "@"?

MfG

undine

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi undine,

zeige bitte von diesem System die /etc/fstab und den Inhalt von / (dies bitte mit dem Proramm ls). Ausserdem:

sudo blkid 

Gruss Lasall

EDIT: redknight gab gerade den Tipp, dass mit "@" Subvolumes markiert werden. Schaue aber erstmal, dass du Grub auf eine nicht-btrfs-Partition bekommst. Meine Befehlsausgaben kannst du getrost ignorieren.

undine

(Themenstarter)

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Hallo Lasall und die anderen,

ich habe noch ein ext4 Ubuntu Oneiric Ocelot auf dem HDD. Dieses System ist ist in zwei logische Partitionen "/" und "/home" aufgeteilt. Grub ist ist in der logischen Partition "/" installiert. Normalerweise müßt doch der Grub vom "ext4 Ubuntu Oneiric Ocelot" nach einem "update-grub" der "Brfs Ubuntu Oneiric Ocelot" mit booten können.

Grub findet bzw. erkennt "Brfs Ubuntu Oneiric Ocelot" leider nicht.

Ist auf der Partition mit dem jetzigen "Brfs Ubuntu Oneiric Ocelot" ein "ext Kubuntu Oneiric Ocelot" installiert, kann diese von "ext4 Ubuntu Oneiric Ocelot"-Grub mit gebootet werden.

Hiweise: Ich verwende nur Grub2.

Kann Grub2 schon zuverlässig Btrfs booten?

Was sind "Subvolumen"?

Antwort von Kofler:

Subvolumes

Von herkömmlichen Dateisystemen kennen Sie die Regel: eine Partition (oder ein Logical Volume) – ein Dateisystem. Bei btrfs ist das anders: Subvolumes ermöglichen es, innerhalb eines btrfs-Dateisystem gewissermaßen mehrere virtuelle Dateisysteme einzurichten und in einem eigenen mount-Verzeichnis zu nutzen.

MfG

undine

Der Artikel ist mir bekannt, jedoch noch vieles unerverständlich:

Konvertierung nach Btrfs

Btrfs befindet sich noch in der Entwicklungsphase und ist daher nicht für den produktiven Einsatz gedacht. Außerdem können GRUB und GRUB 2 bis Maverick nicht mit Btrfs umgehen. Deshalb sollten Dateisysteme auf / und /boot nicht konvertiert werden. Erst ab Oneiric ist es uneingeschränkt möglich, von einem Btrfs-Dateisystem zu booten, jedoch gibt es immer noch Probleme mit GRUB 2-Funktionen, die ein Schreiben erfordern. Siehe dazu die Hinweise u.a. unter GRUB 2/Skripte

Kofler schreibt, am 16. August 2010:

http://kofler.info/blog/134/126/btrfs---Linux-Dateisystem-der-Zukunft/

root-Installation

btrfs kann bereits als root-Dateisystem verwendet werden, sofern es eine Bootpartition mit einem anderen Dateisystemtyp (in der Regel ext3) gibt. GRUB ist nämlich noch nicht btrfs-kompatibel, weder die alte Version 1 (also 0.97) noch die neue Version 2 (sprich 1.98). Fedora, openSUSE und Ubuntu unterstützen btrfs bereits während der Installation. Bei Fedora muss allerdings die boot-Option btrfs verwendet werden, damit dieser Dateisystemtyp bei der Festplattenpartitionierung zur Auswahl steht. Bei Ubuntu müssen Sie eine Textmodus-Installation durchführen (Alternative CD).

Empfehlenswert für eigene Experimente mit btrfs sind Fedora 13 oder Ubuntu 10.10 Alpha/Beta. Nicht so optimal sind openSUSE 11.3 und Ubuntu 10.04: Beide kennen das neue Administrationskommando btrfs noch nicht. Dort müssen Sie mit btrfsctl und anderen eigentlich obsoleten Tools arbeiten.

Generell ist es eine gute Idee, bei btrfs etwas mehr ungenutzten Platz vorzusehen als bei ext3/ext4: Einerseits beanspruchen die Verwaltungsdaten (Metadaten) von btrfs deutlich mehr Platz als die von ext3/ext4, andererseits ist es nicht immer ganz >einfach, den noch freien Speicherplatz zu ermitteln. Zuden reagiert btrfs mitunter allergisch (sprich mit Absturz) auf Platzmangel. Platzreserven sind also ein Sicherheitsgewinn.e

Weitere Fragen:

Inwieweit hat die Aussage noch Bestandskraft? Jetzt ist Grub Version: 1.99-12ubuntu5 1aktuell. Ich habe eine Desktop-Ubuntu-CD zur Installation verwandt.

Bearbeitet von redknight:

Zitate…

undine

(Themenstarter)

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Hallo,

jetzt habe ich noch etwas gefunden, vom 24. Januar 2010:

http://ubuntuforums.org/showthread.php?t=1389279

Separate /boot

First, we create a /boot partition formatted as an ext2 - this is important if we want to boot the OS!500MB in size should be sufficient enough.

Ist heute auch noch zwingend erforderlich? Warum eigentlich ext2 und nicht ext4?

Ist der dort auch beschriebene Grub2 Hack heute noch erforderlich?

Hack GRUB2

At this current time of writing, Grub2's detection method of using stat() cannot detect a Btrfs file system - see here why - so we need to make it so Grub2 detects the it every time you run update-grub.

As it turns out Grub0.97 can detect it just fine, but if downgrading is out of the question, I've written a nice little patch that backports the old grub detection method. All you need to do is install patch, download and setup the correct diversions - so they don't get overwritten if an upgrade were to occur.

Alles noch sehr kompliziert:

http://www.hardwareluxx.de/community/f211/grub-1-99-und-btrfs-815342.html

Hallo,

jetzt weiß ich's: GRUB 1.99 kann definitiv von btrfs booten. Aber ein Haken ist dabei: Die "core.img", die in den MBR eingebettet werden soll, wird oft zu groß. Abhilfe: Man lässt die erste Partition etwas später beginnen als bisher üblich:

https://bugs.launchpad.net/ubuntu/+s...b2/+bug/774217

Naja, ob nun 8M nötig sind (meine core.img ist statt vorher 24k jetzt >~ 30k groß ) - aber ich habe mal sicherheitshalber so viel Luft gelassen.

MfG

undine

Bearbeitet von redknight:

Zitate korrekt markiert

undine

(Themenstarter)

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Hallo,

folgendes Testsystem habe ich gerade versucht zu installieren.

Installationsmedium Ubuntu 12.04 LTS

/dev/sda6 –––> ext4 mit Grub /boot

/dev/sda7 –––→ btrfs /

Die Installtaion lief sauber durch, Grub findet alle weitern Betriebssysteme nur das neue "Ubuntu 12.04 LTS" nicht. Der Kernel wird nicht gefunden. Das neue Bootmenü beginnt mit "memtest".

Wie lasse ich die Partition /sda6 später beginnen, als bisher üblich?

http://www.hardwareluxx.de/community/f211/grub-1-99-und-btrfs-815342.html

Als ich weiß nicht mehr weiter.

*schade

MfG

undine

Alice_wtfiA

Anmeldungsdatum:
6. Januar 2011

Beiträge: 1292

hi

GRUB2 könntest Du vorzugsweise in den Master_Boot_Record schreiben, das wäre dann sda. Und nicht als PBR in sda6. Vielleicht hilft's ja?

12.04 ist noch im Alpha-Stadium. Produktiv-System bedeutet übrigens, das sich irgendwelche evtl. wichtigen Daten auf dem PC befinden, im Gegensatz zu einem Standalone Testsystem, das keine persönlichen,-Arbeits- und so, Daten enthält.

Bei aller Experimentierfreude wollte ich Dich gerne nochmal explizit darauf hinweisen. Ich bin auch mal experimentierfreudig - unter Abschätzung der möglichen Risiken.

In dem von Dir zitierten 774217 gibt es aktuelle Antworten.

syscon-hh

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Hallo an Alle da Oben!!

Ja - ab Oneiric Ocelot ist es prinzipiell und uneingeschränkt möglich, das Btr-Filesystem zu benutzen - mal abgesehen von den allgemeinen Hinweisen auf das noch nicht ausgereifte Handling.

Ja → man kann GRUB 2 auf eine solcherart formatierte (Boot-)Partition ablegen - nur ist das Schreiben (z.B.: von "GRUB_SAVEDEFAULT") nicht möglich. Man muss die Sequenz "recordfail" aus der grub.cfg abwürgen, z.B.: mittels Ergänzung im Skript /etc/grub.d/10_linux (ca. Zeile 92 ff):

1
2
3
4
5
6
7
### FIXME add and change
if [ "x${rootsubvol}" = x ]; then
  cat << EOF
	recordfail
EOF
fi
### FIXME End

Beim Formatieren, wenn man von einem Btr-Filsystem einen Bootloader einsetzen will (MBR oder EFI) sollte man das Formatieren händisch machen / vorbereiten und den relevanten Parameter

benutzen, der den erforderlichen Freiraum für die Bootloader-Daten dafür schafft (siehe auch 800840 und viele weitere).

Und das mit den @ bzw. @home ist auch richtig so (muss aber nicht sein), sondern wurde in Hinblick auf eine Unterscheidung von EFI-Bootdaten in Ubuntu eingebracht (und das nicht nur dort - siehe u.a. FEDORA, Kofler-Blog, Extensible_Firmware_Interface).

gruß syscon-hh

undine

(Themenstarter)

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Hallo syscon-hh und alle die das lesen.

Ein ausführbares Script /etc/grub.d/10_linux habe ich jetzt, von einem anderen auf der HDD befindlichen Ubuntu 11.10 angelegt. Ein "sudo update-grub" findet jedoch immer noch nicht das neue System, mit Kernel 3.2.0.4 auf /dev/sda6. Auf der Partition sda6 ist die initrd.img-3.2.0-4-generic zu sehen. sda6 ist mit ext4 formatiert.

@syscon-hh

Du schreibst:

Ja → man kann GRUB 2 auf eine solcherart formatierte (Boot-)Partition ablegen - nur ist das Schreiben (z.B.: von "GRUB_SAVEDEFAULT") nicht möglich. Man muss die Sequenz "recordfail" aus der grub.cfg abwürgen, z.B.: mittels Ergänzung im Skript /etc/grub.d/10_linux (ca. Zeile 92 ff):

Was meinst Du mit "solcherart formatierte"

  1. zwei Partitionen /boot ext4 und / btrfs

  2. reines btrfs System.

Sollte ich mit Ubuntu 12.04 oder besser mit Ubuntu 11.10 mein Btrfs System aufbauen? 12.04 ist neuer und evlt. auf Btrfs schon stabiler?

MfG

undine

Was halten Kenner von folgender Strategie:

  1. mit "mkfs.btrfs -A 16m" formatiere ich mir eine Btrfs Partition

  2. auf diese Partition installiere ich Ubuntu 11.04, weil schon getester

  3. Grub installiere ich mir in die neue Btrfs Partition

Wird das funktionieren?

Bearbeitet von redknight:

Forensyntax! Findest Du es eigentlich lustig, jeden deiner Beiträge nachformatieren zu lassen? Nutze die Syntax und die Beitragsvorschau.

undine

(Themenstarter)

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Hallo redknihgt,

der Zitatbutton funktioniert bei mir nicht, das habe ich schon öfter versucht.

Tut mir leid.

Wie funktioniert das mit dem Zitatbutton?

Weil die Verbindung hier so schlecht ist, bricht oft ab, speichere oft vorab, weil sonst der Beitrag weg ist.

MfG

undine

Zitattest:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Ok, das kann ich jetzt, danke redknight

@syscon-hh

Hallo funktioniert das auch wenn Grub im PBR installiert ist?

Zitat:

Beim Formatieren, wenn man von einem Btr-Filsystem einen Bootloader einsetzen will (MBR oder EFI) sollte man das Formatieren händisch machen / vorbereiten und den relevanten Parameter

Warum hast Du gerade "16m" gewählt?


--neuer Versuch

1- Mit "sudo mkfs.btrfs -A 16m /dev/sda10" erstelle ich mir ein Btr-Filesystem auf /dev/sda10

sudo mkfs.btrfs -A 16m /dev/sda10

WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on /dev/sda10
	nodesize 4096 leafsize 4096 sectorsize 4096 size 20.01GB
Btrfs Btrfs v0.19
zxz@t61:~$ sudo mkfs.btrfs -A 16m /dev/sda10

WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on /dev/sda10
	nodesize 4096 leafsize 4096 sectorsize 4096 size 20.01GB
Btrfs Btrfs v0.19

Jetzt ist das erste Problem da, die zuvor ext4 formatierte Partition wird von gparted, auch nach "sudo mkfs.btrfs -A 16m /dev/sda10" als ext4 angezeigt. Wenn die Partition zuvor ext2 war, wird diese auch nach "sudo mkfs.btrfs -A 16m /dev/sda10" als ext2 angezeigt.

Was mache ich falsch?

Das Problem wurde durch "sudo cfdisk" und nochmaliges starten von "sudo gparted" gelöst, jetzt zeigt gparted btrfs an.

Wie kann ich die gewünschte Option "-A 16m" von mkfs.btrfs auf Richtigkeit überprüfen?

2- auf /dev/sda10 installiere ich Unbuntu 11.10, Grub lasse ich in den PBR von sda10 installieren

Grub hat sich während der Installation nicht auf /dev/sda10 installieren lassen, die Option ohne Grub fortfahren brachte das System zum einfrieren. Wie nun weiter?

3- Jetzt habe ich das andere Linux mit Grub2 gestartet, ein "sudo update-grub" hat den Kernel auf dem btrfs sda10 nicht gefunden.

Auf /dev/sda10 sind jetzt folgende vier Ordner: "@" "@home" "ubiquity-apt-clone" "var"

Es gilt die Frage zu klären, kann Grub auf eine logische Partition mit dem btr-Filesysem installiert und für Chainloading genutzt werden?

4- Nun habe ich nochmals ein btrfs Unity System auf der logischen Partition /dev/sda10 installiert. Als Installationsort für Grub habe diesmal die logische ext4 Partition /dev/sda6 gewählt. Auch hier ließ sich Grub nicht installieren.

Wie nun weiter? Jetzt 300 Klicks und keiner weiß was? Ok, 50 davon gehören mir.

syscon-hh

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

  • 1. Installation MBR / PBR

Dieses wird es zukünftig nicht mehr geben - so wurde schon seit Natty auf die Möglichkeit zur Installation eines PBR verzichtet und es wird seit Oneiric auch nicht mehr unterstützt. Dafür legt man eine eigene Bootpartition an und damit die diversen System / OS's nicht durcheinander kommen, kommt dort dann "EFI" zum Tragen.

Im Klartext - diese Versuche laufen ins Leere.

  • 2. Bootpartition

Diese "Bootpartition" sollte (z.Zt. muss) am Anfang der HD / des Laufwerkes sein. Und nur dort macht es Sinn, einen Freiraum anzulegen (für einen MBR "alter Art"), also trifft für Dich nicht zu.

Um das System dennoch zum Laufen zu bekommen, wird ganz einfach kein MBR bzw. PBR angelegt und dieses System über chainloding eingebunden. Das Mastersystem, das den Bootloader bzw. Bootmanager stellt, wird dann das Aufrufen übernehmen. Nur muss eben dort dann

  • unter Linux

das Skript os_prober eingesetzt werden -

  • unter Windows (ab VISTA)

z.B.: EasyBCD zur Erstellung der Menüzeilen herangezogen werden.

  • 3. Installation auf Btr-Filesystem

(Ist im WIKI leider noch nicht fertig): In Deinem Fall normal auf /dev/sda10 "Btrfs" formatieren, installieren und keinen MBR angeben oder damit dass bei einer Live-System auch klappt, sollte ein USB-Stick eingesteckt sein und diesen dann missbrauchen (geht leider bei Live-CD nicht anders, "Ubiquity" will was eingestellt haben) - mit der Alternate-CD geht das einfacher, da braucht man keinen MBR bestimmen.

Nun musst Du nur noch bestimmen, was als Mastersystem fungieren soll und dort dann den Bootloader / Bootmanager neu ansetzen. Nun kommt nur ein kleines Problem - das Verzeichnis /boot liegt hinter /@/ und alle Skripte suchen die Kernel in /boot und finden nun nichts. Da ist bis auf Weiteres das Erstellen eine Skriptes erforderlich - unter Linux nicht weiter ein Problem, dafür steht dann das Skript

  • 40_custom bzw.

  • 41_custom

bereit. Bei EasyBCD etwas komplexer - aber lösbar, dieser Ansatz ist in WUBI versteckt 😉

Um jetzt weiter helfen zu können, solltest Du erst einmal die Installation normal ansetzen, soweit das nicht schon geschehen ist und mir dann sagen, was das Mastersystem werden soll und die Randbedingungen / Parameter dazu benennen.

undine

(Themenstarter)

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Hallo syscon-hh,

jetzt bin ich irritiert. Mein Ubuntu 11.10 und mein Kubuntu 11.10, beide ext4 befinden sich auf logischen Partitionen. Grub ist im jeweiligen PBR installiert.

XOSL kann beide System einwandfrei booten.

So möchte ich das, wenn möglich auch mit "Ubuntu 11.10 btrfs" auf der log. Partition /dev/sda10 haben.

Normalerweise müßte doch der Grub von "Ubuntu 11.10 ext4", nach einem "update-grub" den Kernel von "Ubuntu 11.10 btrfs" auf der log. Partition /dev/sda10 finden. Das tut er aber nicht.

Hier habe ich noch etwas gefunden:

http://www.pro-linux.de/news/1/17064/grub-kommt-mit-btrfs-und-zfs-partitionen-klar.html

Doch gerade das direkte Booten von Btrfs-Partitionen unterstützte GRUB2 offiziell noch nicht. Zwar existieren bereits seit geraumer Zeit Patches, um von Btrfs sowohl von GRUB als auch von GRUB2 zu booten, doch erforderten diese immer eine manuelle Änderung im System. Alternativ mussten Anwender eine separate Boot-Partition erstellen, auf die GRUB2 zugreifen konnte.

Wenn ich das "Ubuntu 11.10 btrfs" auf der log. Partition /dev/sda10 erst eimal starten könnte, dann kann ich doch evtl. mit "gub-install --force /dev/sda10" installieren, oder irre ich da?

Du schreibst auch:

Verzeichnis /boot liegt hinter /@/ und alle Skripte suchen die Kernel in /boot und finden nun nichts. Da ist bis auf Weiteres das Erstellen eine Skriptes erforderlich - unter Linux nicht weiter ein Problem, dafür steht dann das Skript

Ich hatte gestern schon testweise einfach von @ ist / verschoben, das brachte auch nicht so recht etwas.

Das btrfs-System auf /dev/sda10 ist jetzt ohne Grub installiert. Vorbereitet wurde die Partition mit "sudo mkfs.btrfs -A 16m /dev/sda10".

Was muß ich tun um es starten zu können?

EasyBCD möchte ich nicht verwenden, weil Freeware und kein FOSS.

MfG

undine

Edit1: Oh jetzt meine ich es verstanden zu haben. Ich muß mir die menüentry aus "@" auf sda10 raussuchen und die in das Script vom Basis-Grub /etc/grub.d/41_custom schreiben. 40_custom ist bei mir belegt.

Edit2: @syscon-hh

Folgendes habe ich mir mehrfach durchgelesen:

1. Installation MBR / PBR

Dieses wird es zukünftig nicht mehr geben - so wurde schon seit Natty auf die Möglichkeit zur Installation eines PBR verzichtet und es wird seit Oneiric auch nicht mehr unterstützt. Dafür legt man eine eigene Bootpartition an und damit die diversen System / OS's nicht durcheinander kommen, kommt dort dann "EFI" zum Tragen.

Ein EFI Bios habe ich nicht, selbst in Oneiric konnte ich in der Installationroutine die Partition für Grub auswählen. Das verwundert mich nun.

Du schreibst weiterhin:

Da ist bis auf Weiteres das Erstellen eine Skriptes erforderlich - unter Linux nicht weiter ein Problem, dafür steht dann das Skript

40_custom bzw.

41_custom

Wie mußt das Skript 41_custom aussehen?

syscon-hh

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Dann mache mal folgendes: Starte mit dem Mastersystem und mounte das "Neue" mit

sudo mount -o subvol=@ /dev/sda10 /mnt 

Das sollte schon mal ohne Fehler machbar sein, ggf. musst Du im Mastersystem noch die btrfs-tools nachinstallieren. Du kannst das neue System auf Vollständigkeit prüfen. Nun kopierst Du das Folgende in eine Datei:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#!/bin/sh -e

###FIXME###
# Hiermit wird bei einem 'update-grub' der aktuelle Kernel
# intern auf eine einheitliche Form innerhalb '/boot' verlinkt.
#
# Wichtig bei einem "Btr-Filesystem", weil der andere Link im
# Wurzelverzeichnis vom Basissystem ins Leere zeigt

rm -f /boot/vmlinuz
kernel=$( ls /boot | grep 'vmlinuz' | tail -n 1 ) > /dev/null
ln -s "${kernel}" /boot/vmlinuz > /dev/null

rm -f /boot/initrd.img
kernel=$( ls /boot | grep 'initrd.img' | tail -n 1 ) > /dev/null
ln -s "${kernel}" /boot/initrd.img > /dev/null

echo "Verlinkung auf aktuellen Kernel eingefügt" >&2

und benennst diese Datei 09_akt-Kernel, kopierst diese dann mit Rootrechten nach

sudo mv 09_akt-Kernel /mnt/etc/grub.d/ 
sudo chmod +x /mnt/etc/grub.d/09_akt-Kernel 

Nun noch den Rest für ein chroot hinzu fügen

sudo -o bind /dev /mnt/dev 
sudo -o bind /proc /mnt/proc 
sudo -o bind /sys /mnt/sys 
sudo chroot /mnt 

und dort dann den Bootloader neu setzten mit

sudo update-grub 

Nun kontrollierst Du, ob das Kernelskript gewirkt hat - dazu sollten in

  • /mnt/boot/

jetzt zwei Links drin sein, die auf den höchsten Kernel verweisen. Wenn dem so ist, dann kannst Du die "Chroot-Umgebung" mit exit wieder verlassen. Nun kopierst Du das Folgende in eine Datei:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#! /bin/sh -e
echo	"Startmenü BTRFS-RAID1-Precise eingefügt" >&2
###FIXME die Bezeichnung "DEVICE" muss auf die reale Partition
# mit dem Btr-Filesystem angepasst werden!

DEVICE="/dev/sda10"

UUID_EINTRAG=$( blkid ${DEVICE} | cut -d "=" -f 3 )
UUID_EINTRAG=$( echo ${UUID_EINTRAG} | cut -c 2-37 )
echo "${UUID_EINTRAG} vom Btr-Filesystem gefunden" >&2


cat << EOF
menuentry "Ubuntu Precise - (Entwickler-Version auf BTRFS)" --class gnu-linux --class gnu --class os {
	recordfail
	insmod gzio
	insmod part_msdos
	insmod btrfs
	search --no-floppy --fs-uuid --set=root ${UUID_EINTRAG}
	linux	/@/boot/vmlinuz root=UUID=${UUID_EINTRAG} ro rootflags=subvol=@ quiet splash vt.handoff=7
	initrd	/@/boot/initrd.img
}
EOF

und benennst dieses 11_btrfs-precise, passt die Partition an und legst diese in das Mastersystem unter /etc/grub.d/ ab, lauffähig machen und nach einem

sudo update-grub 

sollte das nun im Bootmenü (/boot/grub/grub.cfg) zu finden sein. Rebooten und Testen.

undine

(Themenstarter)

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Problem 1.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
-sudo -o bind /dev /mnt/dev
sudo: Ungültige Option -- o
usage: sudo -h | -K | -k | -L | -V
usage: sudo -v [-AknS] [-g groupname|#gid] [-p prompt] [-u user name|#uid]
usage: sudo -l[l] [-AknS] [-g groupname|#gid] [-p prompt] [-U user name] [-u
            user name|#uid] [-g groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user
            name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user
            name|#uid] file ...
zxz@t61:~$ sudo -o bind /dev /mnt/dev
sudo: Ungültige Option -- o
usage: sudo -h | -K | -k | -L | -V
usage: sudo -v [-AknS] [-g groupname|#gid] [-p prompt] [-u user name|#uid]
usage: sudo -l[l] [-AknS] [-g groupname|#gid] [-p prompt] [-U user name] [-u
            user name|#uid] [-g groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user
            name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user
            name|#uid] file ...
e

Wieso gibt es die Option "-o" nicht?

Hast Du dich vertan? Ist es so richtig? ––>

sudo -o bind /dev/sda10 /mnt/dev 
Antworten |