פורסם 2015 במרץ 810 שנים היי חברים,קיבלתי משימה אשר מקבלת image file של אנדרואיד, ועבור כל partition שבו יש לבצע בו שינויים, לדוגמא: מחיקה, הגדלה, הקטנה וכדומה..הדרך הכי פשוטה שלי לעשות זאת היא לגשת לפרטישן של הimg file, להעתיקו להתקן נפרד (ההתקן מדמה טלפון, עם כרטיס זכרון של טלפון eMMC), ולשנות אותו בהתאם לנדרש (יחסוך לי הרבה בעיות אם נדרש להגדיל/להקטין את הפרטישן)כל העתקות של הפרטישן יהיו על ידי פקודת dd.ועל כל יש לי מספר בעיות/דילמות:1. אם אני מעתיק Partition על ידי dd, לדיסק חדש נוצר לי אוטומטית GPT? אם לא מה הפקודה שאומרת לדיסק ליצור GPT?2. איך משנים GPT? האידיאל- פקודת אחת שמאחדת partition שהועתקו על ידי dd לטבלה בודדת.3. אם אני רושם fdisk -ls האם אני למעשה קורא את הGPT בכל דיוויס?4. אם אני עושה dd לpartition הראשון אני מעתיק על הדרך את PGT?תודה רבה,מושיקו נערך 2015 במרץ 810 שנים על-ידי Moshiko Mayoni
פורסם 2015 במרץ 810 שנים תוכן הדיסק במחשב מותקן בנוי בערך כמו :0. בהפעלת המחשב לך לבלוק 10 ובצע את הקוד שנמצא שם1. מיקומי המחיצות על הדיסק :2. מחיצה sda1 - בלוקים 9..233. מחיצה sda2 - בלוקים 17..3255444. מחיצה sda3 - בלוקים 325545..10004056455.6.7.8.9. מיקומי הקבצים במחיצה :10. קובץ syslinux - בלוק 1611. קובץ syslinux (המשך) - בלוק 1912. קובץ kernel - בלוק 1813. קובץ kernel (המשך) - בלוק 1514.15. 001010110010000101100101000110010116. 101001010010100100010001111001010117.18. 101010101001001000010101000100100119. 101010110000101010100000101010110120.21. 100101111010100001011110100010001022.23.24. קובץ dev - בלוק 19425. קובץ etc - בלוק 26226. קובץ home - בלוק 94533........החלקים הם :MBR - Master Boot Recordקוד שיש להריץ להפעלת מערכת ההפעלה. הרבה boot loaders היום גדולים (מכילים הרבה פיצ'רים פנימיים) ולא נכנסים למקום הקטן בתחילת הדיסק, במקומו יש שם קוד שמעלה ומריץ את המשך ה boot loader ממקום אחר בהמשךPartition Tableפשוט רשימה של איפה מתחילה ומסתיימת כל מחיצהpartition sda1 contentspartition sda2 contentsתוכן המחיצות. בדוגמה כאן יש בפנים מערכות קבצים כמו FAT וניתן לראות שהתחלת המחיצה היא טבלת מערכת קבצים וההמשך הוא תוכן של קבצים, אבל זה לא מחייב (תיתכן מחיצה שמכילה מידע בינארי שמתחיל סתם החל מהלוק הראשון של המחיצה). טבלת המחיצות או פקודות כמו dd אינן "מבינות" מה נמצא בתוך המחיצה, מבחינתן כל מה שהוא באותה מחיצה (אותו צבע) מועתק לאותם מקומות בדיוק באימג'/מחיצת היעדהדוגמה שתיארתי דומה יותר לטבלת מחיצות MS DOS, אבל אין ממש הבדל עקרוני ביניהם. פשוט ב GPT סידרו מחדש את החלקים של המבנה הזה בצורה שנותנת כמה יתרונות : - אין יותר מגבלות של המערכת הישנה על כמות מחיצות : ניתן לחלחק דיסק ליותר מ 4 מחיצות (ולא כמו בעבר, עד 4 מחיצות ואז את אחת מהן מחלקים הלאה) - זיהוי המחיצות על ידי GUID, שאינו מועד לתקלות כמו זיהוי לפי "0 1 2 3 ...." כשמבנה המחיצות משתנהמכאן התשובה, לפחות איך שנראה לי :אם אתה מבצע dd לכל הדיסק, אתה מעתיק את כל המידע החל מבלוק 0, כולל טבלת מחיצות וכו'. בדיסק היעד יופיעו מחיצות לאחר ה ddאם אתה מבצע dd למחיצה, אתה מעתיק את התוכן של אותה מחיצה (כל האזור שבאותו צבע), אבל לא את טבלת המחיצותבכל מקרה, חשוב ש "גיאומטריית" המידע (כלומר הגודל של כל בלוק וכו') יהיו זהים במקור וביעד. אם למשל ביעד כל בלוק קצר יותר פי 2, מידע שהיה בבלוק יחיד במקור ייכתב ל 2 בלוקים ביעד, אבל dd אינה "מבינה" ולכן גם אינה "מתקנת" את ההפניות כמו "בהפעלת המחשב לך לבלוק 10" או "קובץ syslinux - בלוק 16" לערכים הנכונים עכשו (בלוקים 20 ו 32). אם זה יקרה ותנסה להפעיל את המחשב, הוא ילך לבצע את הקוד בשורה 10 - אבל עכשו נמצא שם מה שהיה בשורה 5 (כלומר אין שם כלום) - המחשב פשוט יישאר על מסך שחור או no operating system וכו'עריכת טבלת המחיצות נעשית על ידי כלים מתאימים לכך. בלינוקס הכלים לעריכת מחיצות GPT הם cgdisk ו gdisk, (זהים למקבילים שלהם cfdisk ו fdisk למחיצות MS DOS), וכן כלי ה GUI שתומכים במחיצות כאלה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.