שתף קטע נבחר

Dual Boot אחת ולתמיד

מאמר נוסף בנושא מערכת ההפעלה לינוקס, מאת מנכ"ל אמפרסנד, רן צחור

הקדמה

הגדרת Dual boot במחשב היא שאלה שחוזרת על עצמה בפורום זה ובכלל בקהילת הלינוקס בעולם. הסיבה נובעת שרבים מהמשתמשים מעונינים להשתמש בשתי מערכות הפעלה או יותר על מחשב אחד.
עם הגידול בנפח הדיסקים התעוררה בעיה נוספת הנובעת ממספר מגבלות תוכנה הקיימות בתוכנה המאפשרת את אותו Dual boot, במאמר זה אנסה לתת פתרון אפשרי להתקנה של מערכת הפעלה חלונות 2000 (a.k.a W2K) לצד לינוקס על דיסק IDE בגודל 30GB.
לחלונות 2000 ישנו את אותו מנגנון boot הדומה ל NT 4.0, כך שהפרוצדורה צריכה להיות דומה לביצוע dual booting ל NT4 וללינוקס.

צעד אחר צעד

1. תכנון המחיצות בדיסק הקשיח

להתקנה הקצתי מקום ללינוקס ל W2K ולמחיצה (partition) משותפת בסדר הבא:
חשוב: למעט חריגים, מחיצת ה boot של לינוקס חייבת להיות ב 1024 צילינדרים הראשונים של הדיסק (בערך ב 8GB הראשונים של הדיסק). כלומר המחיצה של W2K לא יכולה להיות יותר גדולה מ 7.5GB, כדי לאפשר שהמחיצה הבאה - מחיצת ה /boot של לינוקס – תהיה בתחום ה 1024 צילינדרים. לינוקס לא יבצע boot בצורה תקינה אם /boot תהיה מעבר ל 1024 צילינדרים.

הגדרתי מחיצה ראשונה של 6GB מסוג FAT32 בשביל מערכת הפעלה חלונות, אחריה 18GB בשביל לינוקס (ללא format) והשאר כ 6GB בשביל שטח משותף לחלונות וללינוקס.
ניתן להשתמש בתוכנת fdisk לאחר ביצוע boot מדיסקט (Linux או Windows) כדי לבצע את המחיצות בדיסק, או כאשר מתקינים את תוכנת מערכת הפעלה חלונות.

הצורה הסופית של המחיצות בדיסק היו כדלקמן:

Cylinder 0
=============================
חלונות 2000 (6GB) – FAT32
=============================
לינוקס (18GB) – לא מפורמטים
=============================
שטח משותף (6GB) – FAT32
=============================

2. התקנת W2K על המחיצה הראשונה בדיסק

אם לא הגדרת את המחיצות כפי שהוסבר בסעיף 1, ניתן ליצור אותן בזמן התקנת מערכת הפעלה חלונות 2000.
אזהרה: ישנם הרבה בעיות בביצוע boot של לינוקס עם המחיצה הראשונה בדיסק מוגדרת כ NTFS. יש להגדיר את המחיצה הראשונה כ FAT16 או FAT32 בלבד. אם בכל זאת יש צורך בעבודה עם NTFS תגדיר את המחיצה קטנה בגודל 800M בפורמט FAT32 בשביל W2K/NT ומחיצה נוספת בגודל 5GB בפורמט NTFS במקום מחיצה אחת של 6GB כפי שצוין לעיל.
לאחר שההתקנה הושלמה, W2K יש לשער יבצע boot ללא כל בעיה, בעזרת כלי ה Computer Resource Manager נוכל ליראות את המחיצות הלא מנוצלות. ניתן לפרמט את שטח הדיסק שהוגדר לשטח דיסק משותף בפורמט FAT32.

3. התקנת Linux על המחיצה של הלינוקס

בצע התקנה רגילה של לינוקס, יש לוודא כי לא נדרוס את המחיצה הראשונה בדיסק שם מותקנת תוכנת חלונות 2000.
חשוב ראשון : אל תתקין את LILO – Linux Loader בשטח המכונה MBR בדיסק. MBR הינו ה Master Boot Record בדיסק. דריסת שטח ה MBR לא תאפשר ביצוע boot של מערכת הפעלה W2K. כדי לפתור בעיה זו יש לוודא כי היא תותקן במחיצה /boot (אשר תוגדר במחיצה השנייה בדיסק).
חשוב שני: כפי שיצוין לעיל, מחיצת ה boot של לינוקס חייבת להיות המחיצה הבאה בתור לאחר המחיצה שהוגדרה ל W2K, על מנת לוודא כי מחיצת ה boot נמצאת בטווח הצילינדר ה 1024. אם לא נעשה זאת לינוקס לא יבצע boot בצורה תקינה אלה אם נשתמש בגרסת LILO התומכת ב lba32 ו lba32 BIOS. פרטים בהמשך.
חשוב שלישי : אל תבצע boot אם לא ביצעת את צעדים 4.1 ו 4.2 . אם תבצע reboot , לא תוכל להיכנס ללינוקס שוב אלה אם הכנת דיסק boot של לינוקס (רעיון טוב).

4. הכנת ה dual boot

ניתן להגדיר את ה dual boot בשתי דרכים – או ע"י הדרך המובאת כאן , או שימוש בכלי הנקרא bootpart ( ניתן למצוא אותו באתר Winimage בצד ימין). אני לא השתמשתי בכלי הזה אבל בהרבה מקומות הוא מצוין ככלי נוח לעבודה.

יש לבצע את השלבים הבאים אם לא משתמשים ב bootpart :

1. מתוך מערכת הפעלה לינוקס יש להעתיק את ה boot sector של לינוקס ממחיצה /boot לקובץ ע"י שימוש בפקודת dd.
בדוגמא הבאה יש להחליף את /dev/hda3 עם מיקום מחיצת ה boot:

# dd if=/dev/hda3 of=/bootsect.lnx bs=512 count=1

2. יש להעתיק את קובץ bootsect.lnx לדיסקט :

# mcopy /bootsect.lnx a:

אם לא ניתן להשתמש בפקודת mcopy (לדוגמא בהתקנה מינימלית של לינוקס) יש לבצע mount של הדיסקט ואז להעתיק עם פקודת cp :

# mount /dev/fd0 /mnt
# cp /bootsect.lnx /mnt
# unmount /mnt

3. נבצע boot של מערכת הפעלה W2K, ניכנס כ Administrator למערכת ונעתיק את קובץ bootsect.lnx מהדיסקט לשורש העץ בכונן :C.
4. נערוך את קובץ C:BOOT.INI ונוסיף בסוף הקובץ את השורות הבאות:

C:BOOTSECT.LNX=”Linux”

5. ביצוע ניסוי

נבצע reboot למחשב ומקבל את התפריט הבא :

Windows 2000 Professional
Linux

אם לא קיבלת את התפריט הבא כנראה שישנה טעות בקובץ BOOT.INI
בדוק שניתן לבצע boot לכל מערכת הפעלה בנפרד.
אם אתה מבצע boot עם LILO והמערכת נתקעת ( או בלעז hang) , ומציגה חלק מהמילה “LILO”, סביר להניח כי הבעיה נובעת מאחד הדברים הבאים:

* המחיצה הראשונה בדיסק היא NTFS.
LILO הותקן עם אופציה “linear” , נסה לנטרל את אופציה “linear” מקובץ /etc/lilo.conf ע"י מחיקה או הכנסה להערה.

* התעלמת ממגבלת 1024 הצילינדרים

1. לא השתמשת באופצית “lba32” , או
2. עדיין מוגדר בקובץ lilo.conf שימוש ב “linear”.
3. יש לך BIOS מיושן.
4. אתה משתמש בגרסת LILO ישנה
5.יש לך בעיה אחרת, כדאי שתבדוק בקבצי ה log של LILO.
6. ביצוע mount של המחיצה המשותפת

אם לא ביצעת format של המחיצה האחרונה בדיסק כ FAT32, עשה זאת עכשיו דרך תוכנת W2K. יש להיזהר לא לפרמט את המחיצה בה מותקן ה Linux. לשם הפשטות והנוחות הגדרתי אותה כדיסק D: ואת המחיצה הראשונה כדיסק C: , דיסק C: מכיל את התקנת W2K.

נבצע העתקת ניסיון של קובץ לדיסק D: כאשר אנו ב W2K.

נבצע reboot למחשב וניכנס למערכת הפעלה Linux, ניצור ספריה חדשה בראש העץ (לדוגמא /w2k ( ונבצע פקודת mount למחיצה המשותפת. יש לבצע את הפקודה הבאה על מנת לבצע את פקודת ה mount בהתאם לשם המחיצה (במקרה זה hda6). ע"י שימוש בפקודת fdisk בלינוקס ניתן לקבל את רשימת המחיצות בדיסק – יש להשתמש באופציה “p” ).

# mount /dev/hda6 /w2k

אם הצלחת לבצע mount בצורה מוצלחת וניתן לקרוא את קובץ הניסוי בלי בעיה, אז אנחנו מתקרבים לסוף.
הערה : אם מבצעים mount למחיצת fat בלינוקס, ברירת המחדל היא שהמחיצה וכל הקבצים והספריות בה שייכים לתהליך שביצע את פקודת ה mount. כך שאם המחיצה רשומה בקובץ /etc/fstab היא תותקן לעץ הספריות בזמן עליית המחשב, והבעלים שלה יהיה root. ישנם מספר flags לשינוי אופציה זו.
ביצעתי mount למחיצה כל שאני אהיה בעל המחיצה, ע"י הוספת ה flags המתאימים. אני גם הוספתי את אופציית gid לקובצת המשתמשים והגדרתי את ה mask.

מובאת כאן השורה מקובץ ה /etc/fstab :

/dev/hda6 /w2k vfat uid=500,gid=100,umask=002 0 0

נבצע Reboot למחשב ונעלה עם לינוקס ונוודא שהמחיצה הותקנה כראוי תחת /w2k.

בזאת סיימנו.

הסבר נוסף על מגבלת הצילינדר ה 1024

מגבלת הצילינדר ה 1024 נפתרה ע"י תמיכה ב lba32 BIOS בגירסאות LILO החדשות. התמיכה התווספה ע"י ג'ון קופמאן. ללוח אם אשר יוצר משנת 1998 (או עם אפשרות upgrade ל BIOS), תוכנת LILO תזהה את התמיכה של ה BIOS ותאפשר להגדיר את מחיצת ה boot בכל מקום שתיבחר, תצטרך לשם כך:

* גירסאת LILO 21.4 או יותר, ניתן להוריד גירסה באתר ftp הבא:

* Lba32 BIOS
* הוסף את השורה הבאה בחלק הגדרות ה global ב /etc/lilo.conf
lba32
* הורד את ההגדרה “linear” אם קיימת כזו או הכנס אותה להערה.

לפרטים נוספים מומלץ לקרוא את ה Howto בנושא תמיכה בדיסקים גדולים. (ראה קישורים מצד ימין)

http://www.linuxdoc.org/HOWTO/Large-Disk-HOWTO-5.html

כלים נוספים

אם אתה כבר עובד עם W2K, והדיסק שלך צריך לעבור חלוקה מחדש, ואתה לא רוצה להרוס את התקנת ה W2K הקיימת, צריך לקחת בחשבון אפשרות להשתמש בכלי לחלוקת דיסק.

אזהרה : לפני שימוש באחד מהכלים הללו מומלץ בחום לגבות את המידע הקיים בו.

כלים שניתן להשתמש בהם:

Partition Magic – מוצר מסחרי
GNU Parted – מוצר חופשי תחת רשיון GPL
Ranish Partition Manager


FIPS – כלי המסופק עם רוב ההפצות הקיימות – כלי טוב אך בעייתי כאשר בדיסק קיימות מחיצות לוגיות. כדאי לקרוא את המאמר בקישור מצד ימין.

מקורות נוספים, בקישורים מצד ימין.

לפנייה לכתב/ת
 תגובה חדשה
הצג:
אזהרה:
פעולה זו תמחק את התגובה שהתחלת להקליד
מומלצים