Flavio De Stefano द्वारा
यह ट्यूटोरियल उन सभी के लिए है जो अपने Mac(s) के साथ उपयोग करने के लिए पूर्ण Kali इंस्टॉलेशन के साथ एक USB स्टिक चाहते हैं। यह पर्सिस्टेंस के साथ लाइव Kali इंस्टॉलेशन करने के लिए अभिप्रेत नहीं है।
समस्या यह है कि जब आप USB स्टिक पर Kali इंस्टॉलेशन करते हैं, तो Kali डिस्क को VFAT फाइल सिस्टम के साथ पार्टीशन करता है। Mac OS केवल HFS+ पार्टीशन को कुछ आवश्यक फाइलों के साथ पहचानता है।
तो, आपको चाहिए:
- आपका Mac
- Kali ISO इंस्टॉलर के साथ एक USB स्टिक
- एक टारगेट USB स्टिक, SD कार्ड या एक SSD एक्सटर्नल ड्राइव जहां आप Kali इंस्टॉल करने जा रहे हैं (16GB और USB 3.0 अनुशंसित)
यह ट्यूटोरियल इस ट्यूटोरियल से भारी प्रेरित था जिसमें Kali के लिए उचित सुधार थे। https://medium.com/@mmiglier/ubuntu-installation-on-usb-stick-with-pure-efi-boot-mac-compatible-469ad33645c9
USB लाइव इंस्टॉलेशन
सबसे पहले, इस ट्यूटोरियल का पालन करके USB स्टिक पर Kali इंस्टॉल करें। मैं आपको इस चरण पर कैसे आगे बढ़ना है इसके बारे में परेशान नहीं करने वाला, लेकिन यहां से शुरू करें:
$ sudo dd if={KALI_ISO.iso} of=/dev/{USB} bs=1m
जब आप तैयार हों, अपने Mac को रीबूट करें। दोनों USB स्टिक डालें, फिर ALT दबाएं और लाइव इंस्टॉलर शुरू करने के लिए EFI बूट चुनें।
Kali इंस्टॉलर आपसे आपके टाइमज़ोन और कीबोर्ड लेआउट के बारे में विभिन्न प्रश्न पूछेगा।
आगे बढ़ें जब तक यह आपसे डिस्क पार्टीशन करने के लिए न कहे, यहां चुनें: मैन्युअल। फिर अपने USB टारगेट ड्राइव को चुनें (जहां आप Kali इंस्टॉल करना चाहते हैं)। आप इसे विभिन्न कारकों से पहचान सकते हैं, उदाहरण के लिए इसके आकार से। जारी रखें: क्लिक करें यह आपके ड्राइव को पार्टीशन करेगा।
अब, फिर से उसी स्क्रीन पर वापस जाएं और USB टारगेट ड्राइव के तहत फ्री स्पेस चुनें। जारी रखें पर क्लिक करें और फ्री स्पेस को स्वचालित रूप से पार्टीशन करें चुनें। अनुशंसित विकल्प का पालन करें। फिर पार्टीशनिंग समाप्त करें और डिस्क पर बदलाव लिखें पर क्लिक करें।
इंस्टॉलेशन प्रक्रिया अब डिस्क पर डेटा कॉपी करेगी। इसके समाप्त होने तक प्रतीक्षा करें (इसमें ~30 मिनट लगेंगे)।
GRUB लाइव से बूट करें
एक बार समाप्त होने पर, आपका Mac रीबूट होगा और आपको फिर से ALT दबाना होगा। फिर से EFI बूट चुनें।
अब हमें जो करना है वह है हमारे इंस्टॉल किए गए Kali सिस्टम को लाइव GRUB के माध्यम से लोड करना, क्योंकि हमारा इंस्टॉल किया गया सिस्टम MacOS द्वारा पहचानने योग्य बूट-लोडर नहीं रखता।
एक बार GRUB लोड हो जाने पर, GRUB कमांड-लाइन-इंटरफेस प्राप्त करने के लिए c दबाएं।
अब आपको यह समझना होगा कि आपका Kali इंस्टॉलेशन किस HD में है। ऐसा करने के लिए, जब GRUB cli लोड हो, तो ls टाइप करें; अपना USB स्टिक बाहर निकालें और फिर से ls टाइप करें।
grub> ls (memdisk) (hd0) (hd1) (hd1,gpt3) (hd1, gpt2) (hd1,gpt1) ...
आप देखेंगे कि एक hd{X} गायब हो गया: वह आपका ड्राइव है। अब आपको अपना gpt ढूंढना होगा। शायद यह gpt2 है, लेकिन सुनिश्चित होने के लिए, टाइप करें:
grub> ls (hdX,gpt2)/boot/grub unicode.pf2 ...
यदि कमांड unicode.. कहता है तो यह सही gpt है; अन्यथा अन्य gpts आज़माएं। अब पार्टीशन का UUID ढूंढें, और इसे नोट करें।
grub> ls -l (hdX},gpt{X}) Partition hd2,gpt2: Filesystem type ext* 〈...snip...〉 UUID e86c20b9-83e1-447d-a3be-d1ddaad6c4c6 - Partition start at [...]
अब हम GRUB को बूट करने के लिए पैरामीटर सेट नहीं कर सकते (ऑटोकंप्लीट के लिए tab कुंजी का उपयोग करें):
grub> set root=(hd{X},gpt{X}) grub> linux /boot/vmlinuz〈...tab here!...〉.efi.signed root=UUID=〈the UUID〉 grub> initrd /boot/initrd〈...tab here!...〉 grub> boot
यह लाइव GRUB का उपयोग करके आपका पूर्ण Kali इंस्टॉलेशन बूट करना चाहिए। आप लाइव वातावरण से लॉगिन प्रक्रिया के दौरान पहचाने जाने वाले पासवर्ड द्वारा अंतर कर सकते हैं।
EFI पार्टीशन ठीक करना
एक बार जब आप अपने Kali इंस्टॉलेशन में लॉग इन हो जाएं, तो टर्मिनल खोलें और टाइप करें:
$ fdisk -l
और अपना ड्राइव ढूंढें।
अब, ड्राइव को पार्टीशन करने के लिए gdisk खोलें (Kali पर डिफ़ॉल्ट रूप से इंस्टॉल):
$ gdisk /dev/sd{X} GPT fdisk (gdisk) version 1.0.1 Partition table scan: MBR: hybrid BSD: not present APM: not present GPT: present Found valid GPT with hybrid MBR; using GPT. Command (? for help):
पार्टीशन टेबल प्रिंट करें और पुष्टि करें कि पहले पार्टीशन का प्रकार EF00 है:
Command (? for help): p Disk /dev/sdd: ... [...] Number Start (sector) End (sector) Size Code Name 1 2048 1050623 512.0 MiB EF00 EFI System Partition [...]
अब हमें करना होगा:
- उस EF00 पार्टीशन को हटाएं
- उसके स्थान पर एक नया HFS+ बनाएं
Command (? for help): d Partition number (1-3): 1 Command (? for help): n Partition number (1-128, default 1): 1 Just leave defaults values in the sector phase Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): AF00 Changed type of partition to 'Apple HFS/HFS+' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/sdd. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.
अब हमारे पास एक अनफॉर्मेटेड HFS+ पार्टीशन है। इसे फॉर्मेट करने के लिए, हमें कुछ टूल्स की आवश्यकता है; लेकिन इन टूल्स को प्राप्त करने के लिए हमें apt में Debian source-list जोड़ना होगा।
$ echo "deb https://ftp.debian.org/debian unstable main contrib non-free" > /etc/apt/sources.list.d/debian.list $ apt update $ apt install hfsprogs
हम उस पार्टीशन को फॉर्मेट कर सकते हैं:
$ mkfs.hfsplus /dev/sd{X}1 -v Kali Initialized /dev/sd{X}1 as a 512 MB HFS Plus volume
अब हमें /etc/fstab फ़ाइल संपादित करनी होगी:
$ gedit /etc/fstab
यह Gedit लॉन्च करेगा। इस फ़ाइल में, इन पंक्तियों का पता लगाएं:
# /boot/efi was on /dev/sd{X}1 during installation
UUID={XXXXXXX} /boot/efi vfat defaults 0 1
और उन्हें हटा दें।
अब, बूट पार्टीशन को अनमाउंट करें, इसका पता लगाकर:
$ mount | grep /boot/efi /dev/sd{Y}1 on /boot/efi ... $ umount /dev/sd{Y}1
फिर अपने fstab फ़ाइल में आवश्यक प्रविष्टियां जोड़ने के लिए इसे चलाएं:
$ echo "UUID=$(blkid -o value -s UUID /dev/sd{X}1) /boot/efi auto defaults 0 0" >> /etc/fstab
अब हमें GRUB को पुनर्स्थापित करना होगा ताकि यह अपने EFI डेटा के लिए नए फॉर्मेट किए गए HFS+ पार्टीशन का उपयोग कर सके:
$ mkdir -p /boot/efi/EFI/Kali $ echo "This file is required for booting" > /boot/efi/EFI/Kali/mach_kernel $ echo "This file is required for booting" > /boot/efi/mach_kernel $ grub-install --target x86_64-efi --boot-directory=/boot --efi-directory=/boot/efi --bootloader-id=Kali
फिर हमें बूटलोडर कोड को "ब्लेस" करना होगा, ताकि Mac बूटलोडर इसे बूट करे। ऐसा करने के लिए हमें hfsbless बाइनरी की आवश्यकता है जो apt के माध्यम से उपलब्ध नहीं है। कोई बात नहीं, बस रिपॉजिटरी क्लोन करें और बिल्ड करें:
$ cd /root $ git clone https://github.com/detly/mactel-boot $ cd mactel-boot $ make
फिर ब्लेस करें:
./hfs-bless /boot/efi/EFI/Kali/System/Library/CoreServices/boot.efi
अंतिम चरण grub कॉन्फिगरेशन बनाना है:
$ sed -i 's/GRUB_HIDDEN/#GRUB_HIDDEN/g' /etc/default/grub $ sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=0.1/' /etc/default/grub $ grub-mkconfig -o /boot/grub/grub.cfg
बढ़िया! अब रीबूट करें और आपको ALT दबाकर Mac बूटलोडर में अपनी USB स्टिक दिखाई देनी चाहिए।
VirtualBox के माध्यम से USB को वर्चुअलाइज़ करना
यदि आपको कभी इस USB स्टिक को VirtualBox (Mac OSX पर) के माध्यम से बूट करने की आवश्यकता है, तो ऐसा करने के लिए एक सरल ट्रिक है।
सबसे पहले, आपको एक VMDK डिस्क बनानी होगी जो आपके USB स्टिक के सेक्टर्स को इंगित करे। तो, आइए उस डिस्क की पहचान करें:
$ diskutil list /dev/disk0 (internal): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme 500.3 GB disk0 1: EFI EFI 314.6 MB disk0s1 2: Apple_APFS Container disk1 499.3 GB disk0s2 /dev/disk1 (synthesized): #: TYPE NAME SIZE IDENTIFIER 0: APFS Container Scheme - +499.3 GB disk1 Physical Store disk0s2 1: APFS Volume Macintosh HD 222.0 GB disk1s1 2: APFS Volume Preboot 22.4 MB disk1s2 3: APFS Volume Recovery 519.9 MB disk1s3 4: APFS Volume VM 3.2 GB disk1s4 /dev/disk3 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *32.0 GB disk3
हमारे मामले में, यह /dev/disk3 है। आगे बढ़ने से पहले अनमाउंट करें:
$ diskutil unmountDisk /dev/disk{X}
VirtualBox इंस्टॉल होने के साथ, चलाएं:
$ sudo VBoxManage internalcommands createrawvmdk -filename ~/Kali.vmdk -rawdisk /dev/disk{X} $ chmod 777 ~/Kali.vmdk $ chmod 777 /dev/disk{X}
बढ़िया। अब, VirtualBox UI चलाएं और निम्नलिखित सेटिंग्स के साथ एक नई मशीन बनाएं:
जब VirtualBox आपसे डिस्क के लिए पूछे, तो आइए पहले बनाए गए VMDK को इंगित करें:
मशीन शुरू करने से पहले, सेटिंग्स पर जाएं और अपने प्रोसेस काउंट, वीडियो और मेमोरी को समायोजित करें।
महत्वपूर्ण बात यह है कि सिस्टम > मदरबोर्ड के तहत EFI सक्षम करें सेट करें।
यह आपको EFI के माध्यम से बूट करने की अनुमति देगा। अब वर्चुअल मशीन शुरू करें और तुरंत F12 दबाएं।
बूट मेंटेनेंस मैनेजर चुनें:
फाइल से बूट करें चुनें:
फिर चुनें {SATA_DRIVE} > EFI > Kali > System > Library > CoreServices > boot.efi
और, वोइला:
बने रहें :)
मुफ्त में कोड करना सीखें। freeCodeCamp का ओपन सोर्स पाठ्यक्रम 40,000 से अधिक लोगों को डेवलपर्स के रूप में नौकरी पाने में मदद कर चुका है। शुरू करें