Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-08-20 21:38:01

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Po ponownym uruchomieniu dyski zmieniają nazwy.

Witam.
Postawiłem sobie system na nowo a tu cuda.
Najpierw zauwazylem ze update-grub potrafi za kazdym razem w innej kolejnosci ustawiac na liscie znalezione systemy :/
Jakby tego było mało, po kazdym uruchomieniu kompa dyski maja inne oznaczenia, raz jeden jest sda raz rugi, a raz trzeci...
Co sie dzieje? Pewnie cos z tym UUID ma to cos wspolnego ale nei moge tego rozkminic.
Ale grub-update mnie zniczyl.. Chcialem domownikom ustawic domyslne uruchamianie windowsa, wiec  zmieniam dopowiedni wpis w /etc/default/grub która linia ma byc domyslnie uruchamiana, no ale krew mnie chce zalać bo robie po tym manewrze udate-grub, a ten dzian zmienia mi kolejnosc systemów, a nawet nie pokazuje wszytskich lini ktore potem widze po starcie gruba (jakies inne kernele mi jeszcze pokazuje ze starego systemu) :/ no i nie jestem wstanie się wstrzelić tak aby winows byl domyslny...
Jak nad tym zapanować?

Ostatnio edytowany przez korbol (2012-08-20 21:40:02)


Pozdrawiam

Offline

 

#2  2012-08-20 21:47:41

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Daj w /etc/default/grub nazwę wpisu a nie numerek.

Offline

 

#3  2012-08-21 07:22:52

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Mam dwa windowsy i wpisy są takie same, a jea chce wybrać ten konkretny windows :) wpisy rożnia sie tylko nazwą dysku.
Dlaczego jest taki chaos, przecież w tej chwili mi sie to kupy nie trzyma.
Co zrobić zeby dyski nie zmieniały nazw?


Pozdrawiam

Offline

 

#4  2012-08-21 12:40:52

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Po pierwsze to niedobrze, że wpisy różnią się tylko nazwą dysku. W jaki sposób w takim razie je rozpoznać?

Po drugie to Ty powiedz, dlaczego jest taki chaos. Zacznij od informacji:
- ile jest dysków twardych na tym komputerze?
- jak są te dyski podzielone na partycje?
- ile jest systemów operacyjnych na tych dyskach?
- jak partycje są przydzielone do systemów operacyjnych?
- wykonujesz update-grub z jednego systemu, czy z kilku różnych?
- jak zmienna jest ta „losowa kolejność”? Podaj jakieś dwa czy trzy przykłady.
- pokaż wynik polecenia ls -1 /boot/

Kolejność i liczba systemów w GRUB2 jest uzależniona od: (1) nazw plików w /etc/grub.d/ (2) używanych lokali (w kilku miejscach skrypty polegają na uzależnionej od lokali kolejności sortowania, ale poza ekstremalnymi przypadkami nie ma to znaczenia) (3) plików w katalogu /boot/ o nazwach pasujących do oczekiwanego schematu.
W normalnych warunkach nie ma najmniejszych szans, żeby Windows wskoczył gdzieś pomiędzy Linuksy. Jego kolejność może ulec zmianie jeśli doinstalujesz/usuniesz nowe wersje kernela. Zachowanie, które opisujesz, musi być uzależnione od czegoś, o czym nam nie mówisz.

Offline

 

#5  2012-08-21 13:51:28

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Minio napisał(-a):

Po pierwsze to niedobrze, że wpisy różnią się tylko nazwą dysku. W jaki sposób w takim razie je rozpoznać?

Po nazwie dysku (a właściwie partycji) na której znajduje się system? os-prober tak nadaje po prostu, przykładowo:

Kod:

"Windows 7 (loader) (on /dev/sda1)"

oraz:

Kod:

"Windows 7 (loader) (on /dev/sda3)"

Całość razem z tą partycją to nazwa wpisu, można ją podać jako domyślnie wybierany wpis.

Problem w tym, że Debian (konkretnie chyba udev) losowo nazywa dyski. Przykładowo są dyski: 80GB — sda oraz 160GB — sdb. Po restarcie mogą one zostać nazwane odwrotnie: 80GB — sdb oraz 160GB — sda. To się zdarza, kilka razy widziałem już podobny problem.

Nie wiem natomiast czy również losowo nadawane są oznaczenia typu:

Kod:

set root=(hd0,1)
set root='(hd0,msdos5)'

Jeśli one są stałe, to problem dałoby się łatwo obejść, trzeba to sprawdzić. Druga sprawa, to czy z poziomu tabelki GRUB-a te oznaczenia (hdX,Y) są zawsze takie same. Wydaje mi się, że w obu przypadkach oznaczenia są stałe. Gdyby nie były, ciągle występowałby problem z uruchomieniem jakiegokolwiek systemu, nawet Linuxa, ponieważ initrd oraz kernel szukane byłyby na złej partycji.

Zakładając, że tak jest, można dodać ręcznie wpis do /etc/grub.d/40_custom i ustawić go jako domyślny.

========================

Nie znam GRUB-a 2 na tyle, żeby wiedzieć co robią wpisy typu:

Kod:

search --no-floppy --fs-uuid --set 641e3ad91e3aa448

(u siebie w ogóle nie daję w konfigu tych linijek zaczynających się od „search”)

Jeśli to potrafi określić po UUID na której partycji ma szukać obrazu initrd/jądra albo loadera innego systemu, to problem z głowy. Ciekawe tylko skąd GRUB znałby UUID poszczególnych partycji na etapie tabelki z wyborem systemu. Czyżby sam potrafił je określić? Może zapisuje gdzieś wcześniej?

Offline

 

#6  2012-08-21 19:22:36

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

A więc tak:

Kod:

dpkg -l |grep grub
ii  grub                                 0.97-66                        GRand Unified Bootloader (dummy package)
ii  grub-common                          1.98+20100804-14+squeeze1      GRand Unified Bootloader, version 2 (common files)
ii  grub-pc                              1.98+20100804-14+squeeze1      GRand Unified Bootloader, version 2 (PC/BIOS version)
ii  grub2                                1.98+20100804-14+squeeze1      GRand Unified Bootloader, version 2 (dummy package)

Posiadam 3 dyski:
Dyks PATA
Dysk SATA
Dysk SSD
Na moj obecnym starym debianie z jajkiem initrd.img-2.6.31-1-686 wszytsko dziła poprawnie, dyski są nazywane odpowiednio
hda
sda
sdb
za kazdym razem grub-update robi to samo w tej samej kolejności. Wyrzuciłem, obecnie jeszcze iine stare jajka ktore miale w boot aby nie bylo bigosu. W fstab nie mam zadnych UUID.

W nowym debianie jest jajko 2.6.32 i tu juz robi ise bigoś.
Probowalem ponownie wydawac polecenie update-grub ale ja knazlosc teraz robi tak smao za kazdym razem ta sama lista.
Ale caly czs po uruchomieniu nowym, dyski nazywaja się inaczej (juz nie ma hda, wszytskie są sdX ale tak z tym jajkiem jest poprawnie).
Chciałbym zawcze miec tak samo bo to problematycznie jak się chce jakiś dysk pretestować, czy chociażby ta jazda z grubem. W fsteb są już UUid-y w tym nowym systemie. Rozumiem ze UUID-y sa zawsze takie same i po tym grub to rozkminia...
Obecnie mam 39 stopni gorączki nie włączę tego drugiego systemu i nie bede testowal jeszcze raz tych poleceń, al ejutro już się zmuszę.
Smiało podsuwajci dalsze rozwiązanie, wszytskie jutro przebam :)

Dzieki.


Pozdrawiam

Offline

 

#7  2012-08-22 18:57:33

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Ok a więc wklejam wynik polecenia update-grub robionego jeden raz za drugim.

Kod:

# update-grub
Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-2.6.32-5-686
Found initrd image: /boot/initrd.img-2.6.32-5-686
Found Debian GNU/Linux (6.0.3) on /dev/sda6
Found Windows 7 (loader) on /dev/sdc1
done
# update-grub
Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-2.6.32-5-686
Found initrd image: /boot/initrd.img-2.6.32-5-686
Found Microsoft Windows XP Professional on /dev/sda1
Found Debian GNU/Linux (6.0.3) on /dev/sda6
Found Windows 7 (loader) on /dev/sdb1
Found Windows 7 (loader) on /dev/sdc1
done

Są inne listy systemów!
Ta druga lista jest poprawna, a pierwsza jaka okrojona z dwoch windowsów.
Za trzecim i czwartym razem sa juz te same wyniki jak za drugim razem.
Za pierwszym razem cos nie moze zaskoczyć
Dlaczego?

Ostatnio edytowany przez korbol (2012-08-22 19:00:24)


Pozdrawiam

Offline

 

#8  2012-08-22 19:30:32

  copowieryba - Użytkownik

copowieryba
Użytkownik
Zarejestrowany: 2012-04-11

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

ja mam tak i działa bez problemów

Kod:

dpkg -l |grep grub
ii  grub-common                          1.99-22.1                          i386         GRand Unified Bootloader (common files)
ii  grub-pc                              1.99-22.1                          i386         GRand Unified Bootloader, version 2 (PC/BIOS version)
ii  grub-pc-bin                          1.99-22.1                          i386         GRand Unified Bootloader, version 2 (PC/BIOS binaries)
ii  grub2-common                         1.99-22.1                          i386         GRand Unified Bootloader (common files for version 2)

EDIT
ty masz Squeeze a ja testing to się morze trochę różnic

Ostatnio edytowany przez copowieryba (2012-08-22 19:34:08)

Offline

 

#9  2012-08-22 20:38:10

  djjanek - Użytkownik

djjanek
Użytkownik
Skąd: whereis
Zarejestrowany: 2007-11-15
Serwis

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Ja z grub2 i XP miałem problem ale jak dałem taki wpis:

Kod:

menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set BE38859838854FF7
drivemap -s (hd0) ${root}
chainloader +1
}

to zaczęło działać

Offline

 

#10  2012-08-22 21:28:07

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

korbol napisał(-a):

Są inne listy systemów!
Ta druga lista jest poprawna, a pierwsza jaka okrojona z dwoch windowsów.
Za trzecim i czwartym razem sa juz te same wyniki jak za drugim razem.
Za pierwszym razem cos nie moze zaskoczyć
Dlaczego?

Masz zainstalowany pakiet os-prober, prawda?
Osobiście go nie używam, więc nie wiem o co może mu chodzić. Ale ewidentnie za pierwszym razem nie znajduje wszystkiego. Można zalicza jakiś timeout? Może dysk nie zdążył się rozkręcić (to jest w ogóle możliwe?) lub coś w tym stylu?

Możesz obserwować „zamienianie się miejscami” Windowsów. Wynika to z tego, że Linux nadaje różne oznaczenia tym samym dyskom. Dysk, który raz jest oznaczony jako /dev/sdb następnym razem jest oznaczony jako /dev/sdc. os-prober umieszcza to w nazwie wpisu, ale na już uruchomionym systemie to co miało być /dev/sdb (i rzeczywiście było, gdy update-grub był uruchomiony poprzednim razem), teraz jest /dev/sdc. Dla GRUB-a to nie ma znaczenia, gdyż i tak identyfikuje partycje po UUID, które mają zagwarantowaną matematycznie unikatowość. Polecam usunąć oznaczenia urządzeń z nazwy wpisu i dodać coś bardziej znaczącego, jak „Windows 7 na dysku SDD” albo „Windows 7 Marioli”.

Na Twoim miejscu najpierw wygenerowałbym grub.cfg ze wszystkimi wpisami. Potem otwórz plik /boot/grub/grub.cfg i skopiuj z niego te wpisy dotyczące Windowsów. Zapisz je w nowym pliku w /etc/grub.d/. Zgodnie z zasadami sztuki powinieneś mu nadać nazwę pokroju 50_moje_windowsy, ale to doda je na samym końcu. Możesz więc nadać jakiś numer z przedziału 6–9 (włącznie), aby były na samej górze (05 to wygląd Debiana, 10 to Linuksy). Upewnij się, że Twój nowy plik ma nagłówek taki sam jak 40_custom (chodzi o tę linijkę z exec), inaczej to nie zadziała.
Potem usuń tego os-probera i wygeneruj na nowo grub.cfg.

Z tego co widzę, masz tam dwa Squeeze (jeden na /dev/sda{2-5}, drugi na /dev/sda6). Czy dzielą one katalog /boot/? Najlepiej by było, aby tylko jeden z nich posiadał GRUB-a i aby tylko jeden z nich generował jego listę wpisów.
Osobiście nie mam doświadczeń z kilkoma Linuksami na jednej maszynie (chyba że mówimy o maszynach wirtualnych) i nie jestem pewien, jak w takiej sytuacji okiełznać GRUB-a (żeby jego pliki konfiguracyjne się wzajemnie nie nadpisywały). Może ktoś inny może tutaj coś poradzić.

Offline

 

#11  2012-08-22 21:43:23

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Minio napisał(-a):

Dla GRUB-a to nie ma znaczenia, gdyż i tak identyfikuje partycje po UUID, które mają zagwarantowaną matematycznie unikatowość.

Wiesz może coś więcej na ten temat i mógłbyś wyjaśnić jak to robi? Wyżej właśnie się zastanawiałem jak to u niego jest z tymi UUID. :)

Offline

 

#12  2012-08-23 09:31:57

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Ehhh.
Minio, jesli chodzi a katalog boot, to kazdy system ma swoj, wiec nie ma problemu. W zaleznosci od tago z ktorego systemu zapodam grub-install z tego /boot wczytuje sobie config.
Co do domniemanego timeot'u na rozkręcenie dysku :)  to w sumie u mnie jest tak ze nie mam podmontowanych zadnych partycji i moze te dyski faktycznie  nie pracują. Tego gruba to juz jakoś okiełznam.
Bardziej zastanawia mnie jak mam na prędkosci rozpoznawać nazwy dysków, mozna sie z tym zaplątać, jak się potrzebuje zrobić coś do czego trzeba znać oznaczenie dysku a nie bawić się w UUID i ciąg nic nie znaczących znaków :)


Pozdrawiam

Offline

 

#13  2012-08-23 09:42:22

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Zawsze można po etykietach jeszcze montować jeśli UUID nie odpowiadają.

Offline

 

#14  2012-08-23 09:45:23

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Ciekawa sprawa do przeczytania o UIID z dokumentacji aptosid : http://manual.aptosid.com/pl/part-uuid-pl.htm ,która czerpała z wiki archa. A no i  na dugu można poczytać artykuł o UDEV z linux+. :)
W dokumentacji aptosida doradzają zrobić trwałe nazwy dla dysków, ponieważ :

Kod:

jeśli posiadasz więcej niż jeden kontroler dysku sata/scsi lub ide, kolejność, w której są one dodawane, jest losowa. Może to powodować losowe zmiany nazw urządzeń jak hdX i hdY przy każdym starcie systemu. To samo dotyczy sdX i sdY.

Ostatnio edytowany przez ba10 (2012-08-23 09:51:01)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój Blog, a później Tańczymy ;)

Offline

 

#15  2012-08-23 09:52:07

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

E tam ciekawa, tak jest domyślnie. :) U autora również są używane UUID.

Offline

 

#16  2012-08-23 09:53:54

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

ArnVaker napisał(-a):

E tam ciekawa, tak jest domyślnie. :) U autora również są używane UUID.

Wszystko jest ciekawe jak się nie ma pojęcia o danym temacie. ;) :)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój Blog, a później Tańczymy ;)

Offline

 

#17  2012-08-23 09:56:14

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Ale on już ma UUID tam gdzie można, tylko chyba ich nie lubi. :D IMO etykiety powinny rozwiązać niedogodności ręcznego montowania po UUID.

Offline

 

#18  2012-08-23 10:44:02

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Czyli jak łątwo i przyjemnie wyłączyć UUID aby się nie narobić, aby system wiedział, że ma nadawać dyskom odpowiednie nazwy przyzałożeniu, ze są podpięte w te same miejsca na plycie głownej? Hmmm a ustawienie w BIOSie kolejnosci bootowania ma wpływ na nazwy dysków - przy zalozeniu ze system jeszcze nie slyszal o UUID, czyli tak jak mialem w starym systemie?


Pozdrawiam

Offline

 

#19  2012-08-23 10:56:35

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

korbol napisał(-a):

aby system wiedział, że ma nadawać dyskom odpowiednie nazwy przyzałożeniu, ze są podpięte w te same miejsca na plycie głownej?

Może dałoby się napisać jakąś regułkę dla udeva za to odpowiedzialną, ale to tylko gdybanie, nie wiem czy wykonalne.

Offline

 

#20  2012-08-23 11:27:12

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

korbol napisał(-a):

Minio, jesli chodzi a katalog boot, to kazdy system ma swoj, wiec nie ma problemu. W zaleznosci od tago z ktorego systemu zapodam grub-install z tego /boot wczytuje sobie config.

Właśnie jest problem — polegający na tym, że zmiany których dokonasz na jednym systemie (np. usunięcie os-prober i ręczne wpisanie tych Windowsów) nie są obecne na drugim. A byle aktualizacja kernela wywołuje update-grub, który w tym wypadku brudzi (generuje nieprzewidywalne wpisy).
Chyba lepiej jest mieć GRUB-a na jednym tylko systemie i niech on wszystkim zarządza. Oczywiście jak wtedy zmieni Ci się wersja kernela na systemie bez GRUB, to będziesz musiał przełączyć się na system z GRUB-em i tam wygenerować nowy plik konfiguracyjny.

Z tego co pamiętam, w takich sytuacjach os-prober tworzy podmenu które pozwala wejść do tego drugiego GRUB-a. Jeżeli faktycznie tak jest, to może lepiej os-probera zostawić. Oczywiście wtedy on będzie generował również wpisy dla Windowsów. Możesz więc wpisać sobie Windowsy na sztywno na początku listy (tak jak pisałem w poprzednim poście) i olać te, które os-prober będzie generował (albo i nie będzie ;) ) na końcu listy. Wtedy uzyskasz automatyzację dodawania nowych wersji, ale będziesz miał Windowsy podwójnie.

Chyba że są jeszcze jakieś lepsze rozwiązania, które w tej chwili nie przychodzą mi do głowy.

korbol napisał(-a):

Bardziej zastanawia mnie jak mam na prędkosci rozpoznawać nazwy dysków, mozna sie z tym zaplątać, jak się potrzebuje zrobić coś do czego trzeba znać oznaczenie dysku a nie bawić się w UUID i ciąg nic nie znaczących znaków :)

Tak jak pisał ArnVaker — nadaj dyskom etykiety (label). Na Linuksie możesz zrobić to przy pomocy gparted. Dla partycji NTFS polecałbym wykorzystać narzędzia Windowsowe (menedżer dysków w W7 na pewno to potrafi — tylko domyślnie jest schowany ;) ).

Potem udev utworzy symlinki w /dev/disk/by-label/.
Jeżeli chcesz je mieć wpisane w fstab, to w pierwszej kolumnie zamiast /dev/sd* wpisz:

Kod:

LABEL=ETYKIETA

korbol napisał(-a):

Czyli jak łątwo i przyjemnie wyłączyć UUID aby się nie narobić, aby system wiedział, że ma nadawać dyskom odpowiednie nazwy przyzałożeniu, ze są podpięte w te same miejsca na plycie głownej?

Dlaczego chcesz wyłączać UUID? UUID jest rozwiązaniem Twojego problemu, a nie jego przyczyną.
W każdym razie ten poradnik pomoże Ci w napisaniu regułek, które będą dodawały przewidywalne dowiązania symboliczne do konkretnych urządzań. Z /dev/sd[a-z] lepiej nie kombinować — zdaje się że te nazwy są przypisywane jeszcze zanim zostanie uruchomiony udev.

ArnVaker napisał(-a):

Wiesz może coś więcej na ten temat i mógłbyś wyjaśnić jak to robi? Wyżej właśnie się zastanawiałem jak to u niego jest z tymi UUID. :)

Ma w kodzie źródłowym funkcję odpowiadającą za odczytanie właściwości systemu plików (nazwa, UUID, label i pewnie coś tam jeszcze). Siedzi sobie w pliku grub-core/kern/fs.c, ale ja nie rozumiem, w jaki sposób działa.

Chyba że pytasz o to, w jaki sposób grub-mkconfig w ogóle przyporządkowuje UUID do konkretnych wpisów.
W pliku /etc/grub.d/10_linux wywoływana jest funkcja prepare_grub_to_access_device przyjmująca jako argument zmienną $GRUB_DEVICE.
Zmienna ta jest ustalana w grub-mkconfig (145 linia). Wykorzystuje do tego program /usr/sbin/grub-probe, który jest plikiem binarnym. Generalnie to narzędzie do tłumaczenia nazwy pliku urządzenia blokowego (/dev/sd*), ścieżki w aktualnym systemie plików, UUID, etykiety, nazwy zrozumiałej dla GRUB-a (np. „(hd0,msdos5)”), typu partycji na dysku i — nie jestem pewien — czy partycja nie siedzi w LVM/RAID. Jeżeli chcesz wiedzieć, jak konkretnie on to wszystko obsługuje i tłumaczy jedno na drugie, to musisz zajrzeć do kodu źródłowego.

W każdym razie funkcja prepare_grub_to_access_device znajduje się w pliku /usr/lib/grub/grub-mkconfig_lib i generuje na potrzeby grub.cfg linijki odpowiedzialne za: załadowanie odpowiedniego modułu obsługi systemu plików, ustawienie zmiennej root na absolutny identyfikator urządzenia, ustawienie zmiennej root na identyfikator urządzenia przez UUID, o ile GRUB obsługuje UUID dla tego typu partycji. Jeżeli chodzi o ustawianie przez UUID, to odpowiada za to polecenie search. Ustawia zmienną o specjalnym przeznaczeniu root.

Offline

 

#21  2012-08-23 11:38:36

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Głównie chodziło mi o to skąd bierze UUID poszczególnych partycji przy uruchamianiu, na etapie zaraz po wybraniu wpisu z tabelki. Zastanawiało mnie to, ponieważ nawet kernel Linux bez initrd sobie z tym nie radzi i gdy się go nie używa trzeba podawać tradycyjne oznaczenia definiujące partycję, której ma użyć jako głównej. Skoro GRUB 2 potrafi samodzielnie określić UUID partycji, to wreszcie jest to jakaś jego zaleta. ;) Dzięki.

Offline

 

#22  2012-08-23 11:40:36

  djjanek - Użytkownik

djjanek
Użytkownik
Skąd: whereis
Zarejestrowany: 2007-11-15
Serwis

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Kod:

blkid /dev/sda1

Offline

 

#23  2012-08-23 11:43:28

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

Mamy podać wynik tego polecenia? :)

Offline

 

#24  2012-08-23 13:04:04

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: Po ponownym uruchomieniu dyski zmieniają nazwy.

ArnVaker napisał(-a):

Głównie chodziło mi o to skąd bierze UUID poszczególnych partycji przy uruchamianiu, na etapie zaraz po wybraniu wpisu z tabelki. Zastanawiało mnie to, ponieważ nawet kernel Linux bez initrd sobie z tym nie radzi i gdy się go nie używa trzeba podawać tradycyjne oznaczenia definiujące partycję, której ma użyć jako głównej. Skoro GRUB 2 potrafi samodzielnie określić UUID partycji, to wreszcie jest to jakaś jego zaleta. ;) Dzięki.

Aha.
Najwyraźniej odczytuje surowe dane z urządzenia bajt po bajcie (a raczej chunk po chunku — dla ext2 chunk to 512 bajtów) tak długo, aż znajdzie to, czego szuka. Ma wpisane na sztywno w kodzie źródłowym, czego szukać.
Jeżeli interesują Cię konkretne algorytmy, to przejrzyj pliki w katalogu grub-core/fs/ źródeł GRUB-a.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)