כיצד להשתמש בפקודת DD להעתקת קבצי VHD לדיסק הקשיח הפיזי



נסה את הכלי שלנו לביטול בעיות

קבצי דיסק קשיח וירטואלי (VHD) הם קבצי ענק המדמים את השימוש במדיה פיזית ב- VirtualBox ובחוקרי אמולטור x86 / x86_64 וירטואליים אחרים. זה מאפשר לך להפעיל את Windows, OS X, MS-DOS, FreeBSD, OpenBSD, OS / 2 או אפילו גרסאות אחרות של לינוקס בתוך הפצת לינוקס שלך. קבצים אלה אינם מאפשרים לך לכתוב ישירות את תוכנם לדיסק פיזי באמצעות הפקודה dd המאפשרת לך לעשות את אותו הדבר עם ISO, אך יש דרך לעשות זאת. בעוד שמדריכים מסוימים דורשים ממך להמיר את קובץ ה- VHD ל- ISO, לא תצטרך לעשות זאת אם אתה מריץ את VirtualBox בכל גרסה מודרנית של לינוקס. למשתמשי QEMU יש גם דרך החוצה, אם כי זה כולל יותר משחק.



יהיה עליך לוודא שאף אחד מהכוננים או המחיצות איתם אתה עומד לעבוד אינו זה שממנו אתחול. הרגע השתמשנו בחתיכת זיכרון NAND מחולק לדוגמא זו, אך ייתכן שתרצה להשתמש ב- DVD או באתחול USB חי אם אחרת לא תוכל לעשות זאת. לא משנה באיזו דרך אתחול המכונה המדוברת, הפעל את תוכנית המסוף שלך על ידי לחיצה ממושכת על Ctrl, Alt ו- T, חיפוש אותה ב- Dash Dash של אובונטו או פתיחתה מתפריטי המשנה של כלי מערכת ב- Xfce4 או LXDE.



שיטה 1: שימוש ב- VBoxManage משורת הפקודה

ללא ספק הדרך הקלה ביותר לעשות זאת היא שימוש בהתקנה מסורתית של VirtualBox. ודא תחילה שגיבית את כל הנתונים שאתה חושש לאבד מכיוון שאתה עומד להשמיד כל נתונים על החומרה הפיזית של היעד, בעוד שתוכל בסופו של דבר לעשות משהו לקובץ VHD או VHDX בתהליך. זה נוגע גם לשיטה האחרת, כמו גם לכל דבר הכרוך בפקודות שהן הרסניות כאלה.



ברגע שאתה בטוח שהכל בטוח ושכונן היעד אינו מחובר אך עדיין מחובר למכונה, אמור דיסק קשיח חיצוני שעדיין חיברת אך אינו מותקן או אפילו עשוי להיות גולמי מכיוון שתאבד את הכל עליו. בתהליך, הפעל VBoxManage clonehd freeBSD.VHDX - פורמט RAW freeBSD.RAW תוך החלפת freeBSD.VHDX בדיסק הקשיח הווירטואלי שלך. היה לנו קובץ דיסק קשיח וירטואלי עם התקנה מתונה משהו של FreeBSD למטרות בדיקה, ומכאן השם.

ברגע שפקודה זו הסתיימה, הפעל sudo dd אם = freeBSD.RAW של = / dev / sde , החלפת שם קובץ ה- RAW ב- RAW שיצרת זה עתה ומכשיר ה- sde block במכשיר שאתה באמת מעוניין בו. אם אינך בטוח, תוכל תמיד לרוץ sudo fdisk -l כדי לוודא שאתה יודע את שם המחיצה הנכון. בדיוק כמו בשימוש ב- dd לכל דבר אחר, אינך רוצה לכתוב למכשיר הלא נכון.

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



שיטה 2: באמצעות פקודת שרת רשת התקני QEMU חסום שרת התקנים

משתמשים שיש להם גישה למערכת הווירטואליזציה המהירה בלבד (QEMU) יצטרכו להתמודד עם הליך מעט יותר מעורב מאלו שיש להם גישה לפקודת VBoxManage. בשורת הפקודה, הפעל sudo modprobe nbd בא אחריו qemu-nbd -r -c / dev / ndb0 -f vpc ourTest.vhd , עם שינוי שם הקובץ כך שישקף את שם הקובץ בפועל איתו אתה עובד. ייתכן שתצטרך sudo כדי להפעיל את qemu-nbd, תלוי באופן שבו הגדרת את ההתקנה שלך. אם אתה מעתיק את הפקודות מכאן ומדביק אותן, דאג לשנות אותן לפני שתפעיל אותן. ברוב המקרים יהיה לך רק מכשיר ה- ndb0 לדאוג כאן, אז לא אמורה להיות לך שום בעיה שם.

לאחר שזה נעשה, אתה יכול לכתוב את המחיצה איתה qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd בא אחריו sudo ddrescure -v -f / dev / nbd2 / dev / sde2 אך זכור להחליף את קבצי המכשיר בקבצים שאתה באמת מעוניין להשתמש בהם. אם אתה מעתיק ומדביק אותם למסוף משלך, הקפד להחליף את שמות הקבצים ואת מספרי המחיצות לאלה שאתה מנסה לכתוב אליהם. מכשיר / dev / sde שלנו היה רק ​​כרטיס SDHC משומש בו השתמשנו כדי לבדוק זאת בבטחה מבלי לפגוע בשום דבר. יתכן שתזדקק לסודו כדי להפעיל את qemu-nbd, אך אינך צריך להזדקק לו. כמו כן, ייתכן שיהיה עליך להוריד את מספרי המחיצות בהתאם לתצורה שלך. תהליך ה- QEMU אינו כמעט אינטואיטיבי מסיבות אלה.

משתמשי Hyper-V עשויים להיות בעלי תמונת VHDX במקום קובץ VHD. אם זה המקרה, במקום זאת תצטרך לרוץ qemu-nbd -c / dev / nbd0 -f VHDX ourTest.vhd תוך החלפת שם הקובץ פעם נוספת. אמנם פורמט זה היה תוספת ל- Windows Server 2012 במטרה להוסיף קיבולת אחסון גדולה יותר למכונות וירטואליות, אך יותר ויותר משתמשי לינוקס פונים אליו על מנת להימלט מגבול ה -2 TB שיש ל- VHD. אחרת, הוראות אלה צריכות לעבוד ללא קשר לגודל הקובץ המדובר. הכלי הדרקוני של GNU אמור לעבוד כמו dd, אם כי הוא מקפיד להעתיק תחילה את החסימות הטובות ביותר.

לאחר הפעלת זה, משתמשים שעובדים עם תמונות VHDX יצטרכו לרוץ sudo ddrescue -v -f / dev / nbd2 / dev / sde2 , שוב החלפת הקבצים למעלה. אחרת, כל מי שיש לו כל סוגי התמונות של VirtualBox יכול להשתמש qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd להרכיב את המחיצה המדוברת כאילו מדובר בדיסק ישן כלשהו. יהיה עליך להשתמש sudo mount / dev / nbd2 / cdrom אוֹ sudo mount / dev / nbd2 / mnt לעלות אותו. ודא שלא הותקן שום דבר אחר בספריות / cdrom או / mnt לפני שתנסה את זה.

שיטה 3: ביטול ההפרדה ואז ניתוק הקובץ

כדי לבטל מחדש את התמונה, אתה פשוט צריך להשתמש sudo umount / mnt אוֹ sudo umount / cdrom לנתק אותו. ליבת הלינוקס עצמה, אחרי הכל, הייתה עסוקה בהתייחסות אליו כאילו מדובר בכל נפח אחר.

עדיין תצטרך לנתק אותו ממערכת QEMU, אז הקלד qemu-ndb -d / dev / nbd2 לנתק אותו.

4 דקות קריאה