BootableUSB - Ön yüklemeli USB sürücü oluştur (MultiBoot)

Başlatan bugra9, 25 Aralık 2016 - 20:02:36

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

bugra9

Başlık: BootableUSB
Amaç: Bir veya birden fazla işletim sisteminin kolayca usb bellekten başlatılmasını sağlamak
Proje Bağlantısı: https://github.com/bugra9/BootableUSB
Kullanılan Araç ve Diller: kabuk

İşletim sistemlerini usb bellekten başlatmak için yazılmış onca yazılım varken sanki ihtiyaç varmış gibi bir yenisini de ben ekleyeyim dedim. :)
Bu yazılımın diğerlerinden farkı yazılıma tek seferlik ihtiyacınız olması. Bir kere yazılım ile usb belleği ön yüklemeli hale getiriyorsunuz bir daha yeni işletim sistemleri ekleyip çıkarmak ya da diğer işlemler için herhangi bir yazılıma ihtiyaç duymuyorsunuz.

Yüklemek için;
Ubuntu

sudo add-apt-repository ppa:bugra9/ppa
sudo apt update
sudo apt install bootableusb

Arch Linux
yaourt -S bootableusb

Kullanımı;
Ön yüklemeli hale getirmek
Tek seferliğine usb belleği hazı hale getirelim.

bootableusb -l

ile depolama aygıtları listelet ve aygıtın bağlantı noktasını öğren.

sudo bootableusb -i /dev/sdX

komutuyla da usb belleği hazır hale getir. (Uyarı: Usb bellek içindeki tüm veriler silinecek.)

Linux dağıtımlarını ekleme
İstediğin linux dağıtımlarının .iso kalıplarını bootableusb/linux dizini altına taşı.
Windows dağıtımlarını ekleme
Windows dosyalarını ise usb belleğin ana dizinine direk çıkart.

Bu kadar. Grub, usb belleğin içine atılanları kendisi tanıyacaktır.

Desteklenen linux dağıtımları;
- Ubuntu tabanlı dağıtımlar (Ubuntu, Linux Mint, Elementary OS, Zorin OS vs.)
- Debian tabanlı dağıtımlar (Debian, Kali Linux, Tails, Gparted vs.)
- Fedora
- Arch Linux
- Manjaro
- Remix OS (Android Tabanlı)
- Denemediğim ama kod olarak eklediklerim (Gentoo, OpenSUSE)

Denenmiş windows dağıtımları;
- Windows 7
- Windows 10

Eğer tanınmayan ve eklenmesini istediğiniz dağıtım varsa yazarsanız eklerim.

Not: Canlı olarak kullanırken değişikliklerin kaydedilmesi olayı ("persistent") sadece Ubuntu tabanlı dağıtımlar için çalışıyor.

ata1


bugra9


furyzer0


bugra9

Root yetkilerine ihtiyaç duyduğu için çalışacağını sanmıyorum. Usb belleğe ham erişim izni gerektiği için root yetkileri lazım (biçimlendirmek ve grubu yüklemek için). Eğer herhangi bir android uygulaması usb belleği biçimlendirebiliyorsa android bunun için bir yol tanımlamış demektir ve o yolu kullanarak android uygulaması yapabilirim. Araştırmam lazım.

Bundan önce windows ile çalıştırılabilmesini düşünüyorum.

Kısaca yol haritasını çıkarırsak;
- Windows üzerinde çalışması
- Canlı olarak kullanımda tüm desteklenen tüm dağıtımlarında değişikliklerin yine bir kalıp dosyasına kaydedilmesi böylece yeniden başlatmada değişikliklerin kaybolmaması.
- (Linux) Disk üzerine kurulum özelliği. (Yani ev dizinindeki ISO dizinine atacağınız her linux kalıbı otomatik grub ekranında görünecek ve direk başlatabileceksiniz, usb belleğe ihtiyaç yok.)
- UEFI desteği
- Yukarıdaki olayın windows için olanı. Yani diskte hiç linux yüklü değilse ve canlı kullanmak isterseniz c:\ISO dizinine atacağınız her linux kalıbı başlangıç ekranında görünür ve seçip başlatabilirsiniz.
- Windows yüklü olmasa bile ev dizinindeki ISO dizinine atılmış windows kalıp dosyasından (özel hazırlanmış) canlı olarak başlatılabilmesi.

furyzer0

Pardon demek istediğim bootable olarak android yükleyebilir miyiz belleğe onu sormak istedim :)

bugra9

Umarım yine yanlış anlamamışımdır. :)

Eğer android tabanlı olup masaüstüne uyarlanmış bir dağıtımın canlı olarak kullanılıp kullanılamayacağını soruyorsanız cevap kullanabilirsiniz. Bunun için Remix OS dağıtımını ekledim. Sadece remix os iso kalıbını bootableusb/linux dizinine taşımanız yeterli.
http://www.jide.com/remixos-for-pc

ata1

[mention=614054]@bugra9[/mention] Çoklu iso oluşturabilirmiyiz ? örnek windows - ubuntu - arch- manjaro yanı 32 gb flash ile

furyzer0

Sağolun teşekkürler işime yarayacaktır ileride. Boş bir zamanında linux/android medyası oluştururum.

bugra9

Rica ederim.

@ata1, evet oluşturabilirsin. Birkaç resim atayım mantık daha iyi anlaşılır.

Bir kere yazılım kullanılarak ön yüklemeli hale getirdikten sonra usb bellek şöyle görünüyor.


Windows dosyaları ise ana dizine çıkarılmalı. Çıkardığında otomatik menüye Windows Kurulumu gelir. Linux kalıplarını ise görülen dizine atmak yeterli. Grub ekranı ise şöyle gözüküyor.


ata1

Teşekkürler birkaç linux ile bir flash hazırlayacağım o nedenle boşa uğraşmamak için sordum. Hemen deniyorum  :))


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 28 Aralık 2016 - 00:04:12

[mention=614062]@bugra9[/mention] imleç yanıp söndü kapattı pc kendini manjaro arch ve elementy os attım  neyi yanlış yaptım.  :))  denemek amaçlı isoları rastgele koydum


bugra9

Dediğin grub ekranında mı oldu? Manjaroyu seçince başlamıyor mu?

ata1

Hiç açılmıyor siyah ekranda tek imleç yanıpsönüyor uzun süre bekledim pc kendini kapattı grup yada herhangi bir şey çıkmadı  archer olduğumdan aur depo komutu vermişsin o şekilde yaptım hata vardiye en az 5 defa sildim kurdum flash hazırladım işe yaramadı bilgine

Alıntı YapArch Linux
Kod: [Seç]
yaourt -S bootableusb

Kullanımı;
Ön yüklemeli hale getirmek
Tek seferliğine usb belleği hazı hale getirelim.
Kod: [Seç]
bootableusb -l
ile depolama aygıtları listelet ve aygıtın bağlantı noktasını öğren.
Kod: [Seç]
sudo bootableusb -i /dev/sdX
komutuyla da usb belleği hazır hale getir. (Uyarı: Usb bellek içindeki tüm veriler silinecek.)

Linux dağıtımlarını ekleme

şu şekilde uyguladım şu şekilde boot diye flash isimlendi ve içerik budur


bugra9

Anladım, bir manjaroyu açıp onda oluşturmayı deneyeyim ona göre dönüş yapacağım (Genelde denemelerimi Ubuntu üzerinde yaptığım için belki farklılık vardır). Bir de bootableusb/grub dizini içerisinde dosya var mı? bootableusb/grub/grub.cfg dosyasının içi dolu mu?

Kusura bakma, seni uğraştırdım. :(

ata1

uğraşmakta sorun yok ben zevk alıyorum ileride diğer kullanıcılar için faydamız olsun yeter dosya var içerik şöyledir



insmod fat
search --no-floppy --fs-uuid 82E5-7D35 --set root

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
   font="/bootableusb/grub/fonts/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
fi
terminal_output gfxterm

if [ -s /bootmgr ]; then
menuentry "Install Windows" {
ntldr /bootmgr
boot
}
fi
submenu "Boot Linux ISO Image" {
insmod regexp
insmod part_msdos

for i in /bootableusb/linux/*.iso ; do
regexp -s w '^/bootableusb/linux/(.*).iso' $i
menuentry "$w" $i {
set isofile="$2"
loopback loop $isofile

# Ubuntu 64 Bit
if [ -s (loop)/casper/vmlinuz.efi ]; then
if [ -s /bootableusb/persistent/casper-rw ]; then
set opt="persistent persistent-path=/bootableusb/persistent"
fi
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile quiet splash noprompt noeject $opt
initrd (loop)/casper/initrd.lz
# Ubuntu 32 Bit
elif [ -s (loop)/casper/vmlinuz ]; then
if [ -s /bootableusb/persistent/casper-rw ]; then
set opt="persistent persistent-path=/bootableusb/persistent"
fi
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash noprompt noeject $opt
initrd (loop)/casper/initrd.lz
# Tails
elif [ -s (loop)/live/vmlinuz2 ]; then
linux (loop)/live/vmlinuz2 boot=live config findiso=${isofile} live-media=removable apparmor=1 security=apparmor nopersistent noprompt timezone=Etc/UTC block.events_dfl_poll_msecs=1000 noautologin module=Tails
    initrd (loop)/live/initrd2.img
    # Kali Linux
elif [ -s (loop)/dists/kali-rolling/Release ]; then
linux (loop)/live/vmlinuz boot=live findiso=$isofile noconfig=sudo username=root hostname=kali
initrd (loop)/live/initrd.img
# Gparted
elif [ -s (loop)/GParted-Live-Version ]; then
linux (loop)/live/vmlinuz boot=live union=overlay username=user config components quiet noswap noeject toram=filesystem.squashfs ip=  nosplash findiso=$isofile
initrd (loop)/live/initrd.img
    # Debian
elif [ -s (loop)/live/vmlinuz ]; then
linux (loop)/live/vmlinuz boot=live config findiso=$isofile
initrd (loop)/live/initrd.img
# Fedora
elif [ -s (loop)/isolinux/vmlinuz ]; then
probe -l loop --set=isolabel
linux (loop)/isolinux/vmlinuz root=live:CDLABEL=$isolabel iso-scan/filename=$isofile rd.live.image quiet
initrd (loop)/isolinux/initrd.img
# Gentoo
elif [ -s (loop)/isolinux/gentoo ]; then
linux (loop)/isolinux/gentoo root=/dev/ram0 init=/linuxrc aufs looptype=squashfs loop=/image.squashfs cdroot isoboot=$isofile vga=791 splash=silent,theme:default console=tty0
initrd (loop)/isolinux/gentoo.xz
# Manjaro 64 Bit
elif [ -s (loop)/manjaro/isomounts ]; then
set imgdevpath="/dev/disk/by-uuid/82E5-7D35"
probe -l loop --set=isolabel
linux (loop)/manjaro/boot/x86_64/manjaro img_dev=$imgdevpath img_loop=$isofile misobasedir=manjaro misolabel=$isolabel nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 logo.nologo overlay=nonfree nonfree=yes quiet splash
initrd (loop)/manjaro/boot/intel_ucode.img (loop)/manjaro/boot/x86_64/manjaro.img
# Arch Linux 64 Bit
elif [ -s (loop)/arch/boot/x86_64/vmlinuz ]; then
set imgdevpath="/dev/disk/by-uuid/82E5-7D35"
probe -l loop --set=isolabel
linux (loop)/arch/boot/x86_64/vmlinuz img_dev=$imgdevpath img_loop=$isofile archisolabel=$isolabel
initrd (loop)/arch/boot/x86_64/archiso.img
# OpenSuse
elif [ -s (loop)/boot/x86_64/loader/linux ]; then
set imgdevpath="/dev/disk/by-uuid/82E5-7D35"
linux (loop)/boot/x86_64/loader/linux isofrom_device=$imgdevpath isofrom_system=$isofile LANG=en_US.UTF-8
initrd (loop)/boot/x86_64/loader/initrd
# Remix OS
elif [ -s (loop)/isolinux/remixos.png ]; then
linux (loop)/kernel iso-scan/filename=$isofile androidboot.selinux=permissive quiet SERIAL=random logo.showlogo=1 SRC= DATA= DATA_IN_MEM=1
initrd (loop)/initrd.img
fi
}
done
}

menuentry "Operating Systems on Disk" {
insmod regexp
insmod part_msdos
for x in (hd1,*) ; do
if [ -f "$x/boot/grub/grub.cfg" ] ; then
configfile $x/boot/grub/grub.cfg
break
fi
done
}

menuentry "Reboot" {
reboot
}

bugra9

Böyle düşünmene sevindim.

Kurulum sorunsuz gerçekleşmiş görünüyor. Manjaroda bir test edeyim, niye böyle olduğunu anlar anlamaz dönüş yapacağım.

ata1

gözlerimde sorunum var malum yaş kemale erdi  :)) o nedenle pek inceleyemedim bu saate fakat siyah ekranda tek imleç çıkınca uzunca bekledim belki isoları okuyor diye ama kendisi kapattı durum budur  benim imkanım var elementy ile de hazırlarım fakat  diğer kullanıcılar için sorun olur.  :)) tamam beklemedeyim teşekkürler.

AguilaNegra

#17
Ben de Manjaro ile başaramadım,ilgili programa ait bu gün bir güncelleme geldi ve güncel hali ile ilk mesajdaki yönergeleri takip ettim.
@ata1 tarafından verilen grub.cfg içeriği aynı olduğu için tekrar buraya taşımadım.
Elimde Mint ve Manjaro iso dosyaları vardı onları bootableusb/linux dosyasının içine kopyaladım ve usb den başlatmak istediğimde,
''Verifying DMI Pool data ''kısmını aşamadım.
Akşam evdeki masaüstü pc ile deneyeceğim,orada da aynı sonucu alısam,o bilgisayarda yüklü Ubuntu üzerinde aynı işlemleri tekrarlayacağım.

Ubuntu ile de maalesef grub ekranına ulaşamadım.

mhmtkrktr

Güzel bir çalışma olmuş. Kullanıcı olarak ihtiyaç duyacağımı sanmıyorum (en azından şimdilik) ama yardımcı olabileceğim bir yeri varsa elimden geleni yapmaya çalışırım. Başarılar.

bugra9

Teşekkürler. Bugün farkettim, yapmaya çalıştığım şeyin benzerini bir başkası şurada yapmış. :)
https://github.com/aguslr/multibootusb

O kadar da bakmıştım bir benzeri var mı diye, görseydim bunu çatallayıp devam ederdim. Meğerse gözümün önündeymiş. Bir yandan da iyi oldu, uefi desteği için vakit harcamam gerekmeyecek :)

@ata1, @AguilaNegra sorun sanırım UEFI ile ilgili. Yakında yeni bir sürüm çıkarıp uefi desteği getireceğim.

ata1

Bene de uefi yok eski model pc kullanıyorum bende daha şimdi elementry os ile denedim onunla da aynı bilgine 

multibootusb
https://aur.archlinux.org/packages/multibootusb/?setlang=fi

AguilaNegra

Benim de kullandığım iki masaüstü de eski,uefi yok.

mgundogdu

Emin olmamakla birlikte Manjaro için şunu şunu söyleyebilirim Manjaro'yu linuxta sadece iki şekilde başarı ile yazdırabiliyorum: dd ve suse imagewriter. Ayrıca malum üzere Manjaro ile linux dualboot pain in the a** :) .iso kalıplarından kaynaklan bir sorun olabilir.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 27 Ocak 2017 - 16:22:22

Verifying DMI pool data...success te takılma sorununu şu şekilde hallettim daha bugün.

Bir süre önce Xubuntu kalıbı indirdim ve güzelce değerleri kontrol edip dd ile yazdırdım ama BIOS kitlendi. Daha sonra Unetbootin ile yazdırdım onda da USB boot önceliği ile seçtim ama verifying dmi ekranında kaldı. Acaba Xubuntu kalıpta mı sorun var diyerek Ubuntu LTS, Opensuse, Manjaro denedim hepsinde aynı sorun. USB değiştirdim yine aynı sorun. Sadete geleyim USB'yi Windows üzerinde biçimlendirip yazınca sorun çözüldü :)
Because science is awesome!

bugra9

Benim denediğim bütün bilgisayarlarda manjaro sorunsuz başlatılıyor. Buradaki sorun bazı bilgisayarların usb bellekteki grubu başlatamamasından kaynaklanıyor. Grub başlasa gerisi sorun değil.

Windows üzerinde biçimlendirdikten sonra hangi yazılım ile yazdırınca usb bellekten ön yükleme yapabildiniz?
@ata1 ile uzun süre uğraştık ama bir türlü onun bilgisayarında o adımı geçememiştik. @AguilaNegra de aynı sorunu yaşıyor.


mgundogdu

Rufus ile Windowsda yaptim. Burda sorun sanirim bazi BIOS larin linux sistemde olusturulmus dosya bolumunu okuyamamasi ile ilgili.
Because science is awesome!