Fdisk та gpart на feebsd 10 - FreeBSD для новачків

На цьому сайті обговорюються питання використання ОС FreeBSD

Часовий пояс: UTC + 4 години

fdisk та gpart на feebsd 10

Сторінка1 із1[ Повідомлень: 4 ]
Автор Повідомлення
paSha
Зареєстрований:Нд 05 січ, 2014 2:47 pmПовідомлення:11

Всім привіт! Розумію, що питання елементарне, але заблукав у трьох соснах. Після Вінди важко йде. Читаю книги про UNIX п'ятирічної давності, і результат відповідний виходить.

Експерементував із розміткою диска. Робив за книжками утилітою fdisk. У принципі, все було зрозуміло. У системі є два стародавні IDE диски:

fdiskом розбив ada1 на два слайси:

******* Working on device /dev/ada1 ******* параметри виведені з дискового диска диска: cylinders=77542 heads=16 sectors/track=63 (1008 blks /cyl)

Фігури під час роботи з BIOS для партій не є в cyl 1 параметри для використання BIOS калькуляції є: cylinders=77542 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512 Warning: BIOS sector номери повідомлень з сектором 1 Information from DOS bootblock is: The data for partition 1 is: sysid 165 (0xa5),(FreeBSD/NetBSD/ 386BSD) start 63, size 58621185 (28623 Meg), flag 80 (active) beg: cyl 0/ head 1/ sector 1; end: cyl 811/ head 15/ sector 63 The data for partition 2 є: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) start 63, size 19540017 (9541 Meg ), flag 0 beg: cyl 0/ head 1/ sector 1; end: cyl 952/ head 15/ sector 0 The data for partition 3 is: Thedata for partition 4 is:

Все ніби йшло точно за книжкою:

Але bsdlabel не бачить цих слайсів. Тобто. ніяких ada1s1 та ada1s2 немає. Вона бачить весь диск повністю і намагається розбити на партиції відразу весь диск. І тут я взагалі загубився.

Після пошуку виявилося, що fdisk на десятці вже не можна використовувати. А потрібно gpart. Але у неї свої терміни. Gpart оперує поняттями "партиція". Це теж, що й слайс чи ні? У термінах сильна плутанина. Тобто fdisk бив диск на слайси, потім bsdlabel ділило слайс на партиції - завантажувальний, swap, корінь і.т.д. А при GPT завантажувальний розділ, swap, корінь і.т.д. чи живуть кожен у своєму слайсі?

Повернутися до початку
lavr
Зареєстрований:П'ят 03 Вер, 2004 1:26 pmПовідомлення:2333

Всім привіт! Розумію, що питання елементарне, але заблукав у трьох соснах. Після Вінди важко йде. Читаю книги про UNIX п'ятирічної давності, і результат відповідний виходить.

Експерементував із розміткою диска. Робив за книжками утилітою fdisk. У принципі, все було зрозуміло. У системі є два стародавні IDE диски:

fdiskом розбив ada1 на два слайси:

******* Working on device /dev/ada1 ******* параметри виведені з дискового диска диска: cylinders=77542 heads=16 sectors/track=63 (1008 blks /cyl)

Фігури під час роботи з BIOS для партій не є в cyl 1 параметри для використання BIOS калькуляції є: cylinders=77542 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512 Warning: BIOS sector numbering starts with sector1 Information from DOS bootblock is: The data for partition 1 is: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) start 63, size 58621185 (28623 Meg), 1 80 (active) beg: cyl 0/ head 1/ sector 1; end: cyl 811/ head 15/ sector 63 The data for partition 2 є: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) start 63, size 19540017 (9541 Meg ), flag 0 beg: cyl 0/ head 1/ sector 1; end: cyl 952/ head 15/ sector 0 The data for partition 3 is: The data for partition 4 is:

Все ніби йшло точно за книжкою:

створили невірно, подивіться уважно обидва висновки (різного формату) від fdisk: slice 1: починається з сектора 63 і розмір 58621185 slice 2: починає з сектора 0 і розміром 19540017

це як би два слайси, що перекриваються. Ви їх неправильно створили.

маємо cylinders=77542 heads=16 sectors/track=63 (1008 blks/cyl) (ваш fdisk) правильно було б перерахувати кількість циліндрів виходячи з розміру і heads=255 sectors=644, ну і візьмемо як є.

Створюєте файл, допустимо ada1.conf:

перший рядок: g c77542 h16 s63 описує геометрію диска, другий і третій рядок описують слайси: 1 і 2 за форматом: slice - номер слайсу, type - тип розділу (у нас завжди 165/freebsd), start - початок слайсу, length - довжина (у секторах або K,M,G - в кіло/мега/гігабайтах) Правильніше починати слайс із сектора 63, залишивши шматок для службових потреб або сумісності з boot-менеджерами, як у верхньому прикладі та розміром XY GB. Другий слайс - якщо ми хочемо до кінця диска, то нам не треба обчислювати старт-сектор, замість нього "*" - fdisk обчислить сам, розмір теж "*" - все місце, що залишилося. Ну можете додати a 1 (active) - але краще це зробити черезgpart (як і все інше)

# fdisk -f ada1.conf -tv ada1 (тестовий прогін - см діагностику) і потім # fdisk -f ada1.conf -iv ada1 (усі записали)

тепер потрібно записати стандартний лейбл на кожен слайс і потім редагувати:

- пишемо стандартний лейбл

# bsdlabel -w ada1s1 # bsdlabel -w ada1s2

# bsdlabel -e ada1s1 # bsdlabel -e ada1s2

Термін партиція - винахід M$, в Unix'ах спочатку диски розбивалися на слайси.

У свою чергу, слайс в Unix складається з партицій: "a" - корінь "b" - swap "c" - зарезервовано під загальний опис "d", "e"," f","g","h".

Є два варіанти оформлення диска на частини: MBR (застаріле) та GPT (нова) Про структуру та досягнення GPT: http://ua.wikipedia.org/wiki/%D0%A2%D0% . D0%B2_GUID

У GPT можна використовувати різні схеми розмітки: - BSD - GPT - MBR - і змішану з верхніх

наприклад для MBR (що ви намагаєтеся зробити через fdisk/bsdlabel):

# gpart create -s MBR ada1 (створюємо схему MBR) далі а-ля fdisk: # gpart add -t freebsd -b 63 -s XYG ada1 (створили ada1s1 слайс розміром XYGB) # gpart add -t freebsd ada1 (створили слайс ada1s2 на все місце, що залишилося)

# gpart show ada1

тепер замість bsdlabel - gpart: - для кожного слайсу створюємо схему BSD:

# gpart create -s BSD -n 20 ada1s1 # gpart create -s BSD -n 20 ada1s2

(-n 20 у партицій у термінах BSD для "a","b". стандартно -n 8 )

тепер замість bsdlabel, можете створювати партиції BSD за допомогою gpart:

gpart add -t freebsd-ufs -s 2G ada1s1 (під корінь) # gpart add -t freebsd-swap -s 2G ada1s1 (swap) # gpart add -t freebsd-ufs -s 10Gada1s1 ("d") # gpart add -t freebsd-ufs -s 20G ada1s1 ("e") # gpart add -t freebsd-ufs ada1s1 ("f" - все місце, що залишилося)

# gpart show ada1s1 (все покаже) або # bsdlabel ada1s1

аналогічно для ada1s2: # gpart add -t freebsd-ufs -s 50G -i 4 ada1s2 ("d") # gpart add -t freebsd-ufs ada1s2 -i 5 ("e" - все місце, що залишилося )

запис завантажувача та active - освоїте самостійно: man gpart

До верхнього поставитися уважно, можливі очеп'ятки. Питання?

Повернутися до початку
paSha
Зареєстрований:Нд 05 січ, 2014 2:47 pmПовідомлення:11
Повернутися до початку
lavr
Зареєстрований:П'ят 03 Вер, 2004 1:26 pmПовідомлення:2333

там немає нічого складного, достатньо уявити деякі речі і все стане як 2x2.

ps. це просто потрібно знати.

Повернутися до початку
Сторінка1 із1[ Повідомлень: 4 ]
Версія для друкуПопер. тема Слід. тема

Часовий пояс: UTC + 4 години

Хто зараз на конференції

Зареєстровані користувачі: Bing [Bot]