Skip to content

Commit b0472a9

Browse files
committed
v0.2
1 parent 0613086 commit b0472a9

2 files changed

Lines changed: 109 additions & 47 deletions

File tree

README.md

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,55 +2,61 @@
22

33
# BootableUSB
44

5-
Sürükle bırak yöntemiyle kullanılabilir önyüklemeli usb sürücü oluşturur. Fat32 dosya sistemi türünü destekleyen her işletim sisteminde çalışır.
5+
Sürükle bırak yöntemiyle kullanılabilir ön yüklemeli usb sürücü oluşturur. Fat32 dosya sistemi türünü destekleyen her işletim sisteminde çalışır.
66

77
Bu yazılım aşağıdaki işlevleri yerine getirmek için hazırlanmıştır.
88
- Usb bellek üzerinden Windows işletim sisteminin yüklenebilmesi
99
- Usb bellek üzerinde bulunan iso kalıbından Linux dağıtımlarının başlatılması
1010
- Diskte daha önce kurulmuş işletim sistemlerinin başlatılması
1111

12-
Bu işlemlerin her işletim sistemi üzerinde yapılabilmesine olanak sağlar.
13-
1412
## Çalışma Şekli
15-
Bu yazılım diğer yazılımlardan farklı olarak hem kurulum hem de veri depolanması şeklinde kullanım için hazırlanmıştır. Yazılım kullanılarak bir defalığına usb bellek hazırlanır.
13+
Bu yazılım diğer yazılımlardan farklı olarak hem kurulum hem de veri depolanması şeklinde kullanım için hazırlanmıştır. Yazılım kullanılarak bir defalığına usb bellek hazırlanır.
14+
**Dikkat:** Aygıt içerisinde bulunan tüm veriler silinecektir.
1615
```
17-
sudo bootableusb --prepare /dev/sdb
16+
sudo bootableusb --prepare /dev/sdX
1817
```
1918
Bu hazırlama aşamasında yazılım usb belleği fat32 türünde biçimlendirir ve üzerine grubu kurarak ayarlarını yapar.
2019

2120
Bu aşamadan sonra usb bellek istenildiği gibi kullanılabilir.
22-
Eğer windows kurulmak istenirse kalıp dosyaları usb üzerine çıkarılır ve bilgisayar bellekten başlatılır. Grub ekranından Windows kurulumu seçilerek devam edilir. Yükleme bittiğinde ise bellek üzerindeki Windows dosyaları silinerek normal kullanıma devam edilir.
21+
Eğer windows kurulmak istenirse kalıp dosyaları usb üzerine çıkarılır ve bilgisayar usb bellekten başlatılır. Grub ekranından Windows kurulumu seçilerek devam edilir. Yükleme bittiğinde ise usb bellek üzerindeki Windows dosyaları silinerek normal kullanıma devam edilir. Dikkat edilecek nokta, usb bellek içindeki grub klasörü silinmemelidir.
2322

24-
Linux dağıtımı kurmak ya da canlı olarak başlatmak için linux kalıbı direk linux.iso ismiyle usb belleğin içine kopyalanır. Bilgisayar bellekten başlatılarak grub ekranından Linux kalıbından başlatma seçilerek devam edilir. Kullanım bitince bellek üzerindeki bu iso dosyası silinip kullanıma devam edilir.
23+
Linux dağıtımı kurmak ya da canlı olarak başlatmak için linux kalıbı direk linux.iso ismiyle usb belleğin içine kopyalanır. Bilgisayar usb bellekten başlatılarak grub ekranından Linux kalıbından başlatma seçilerek devam edilir. Kullanım bitince bellek üzerindeki bu iso dosyası silinip kullanıma devam edilir.
2524

26-
Eğer disk üzerindeki grub silinir ya da bozulursa, disk üzerindeki işletim sistemleri usb bellek üzerinden başlatılabilir. Bunun için bilgisayarı usb bellekten başlattıktan sonra grub ekranından Diskteki işletim sistemini başlatma seçilerek devam edilir.
25+
Eğer disk üzerindeki grub silinir ya da bozulursa, disk üzerindeki işletim sistemleri usb bellek üzerinden başlatılabilir. Bunun için bilgisayarı usb bellekten başlattıktan sonra grub ekranından diskte bulunan bir işletim sistemi seçilerek devam edilir.
2726

2827
## Kullanım Senaryoları
2928

3029
### Ubuntu yanına Windows kurma
3130

32-
Eğer daha önce yazılım hiç çalıştırılmadıysa ya da belleğin yapısı bozulduysa önce bellek hazırlığı yapılır.
31+
İlk önce usb belleğimizin /dev/sdX biçiminde olan ismini öğrenmek için bilgisayara bağlı olan aygıtlar listelenir.
32+
```
33+
bootableusb --listDevices
34+
```
35+
36+
Eğer daha önce yazılım hiç çalıştırılmadıysa ya da usb belleğin yapısı bozulduysa önce hazırlık yapılır.
37+
**Dikkat:** Aygıt içerisinde bulunan tüm veriler silinecektir.
3338
```
34-
sudo bootableusb --prepare /dev/sdb
39+
sudo bootableusb --prepare /dev/sdX
3540
```
3641

3742
Daha sonra Windows dosyaları usb belleğe kopyalanır. Eğer bu kopyalama işlemi elle yapılmak istenmiyorsa yazılım aracılığı ile yapılabilir.
3843
```
39-
sudo bootableusb --extract /dasda.iso /dev/sdb
44+
sudo bootableusb --extract ~/windowsIsoPath.iso /dev/sdX
4045
```
4146

4247
Artık her şey hazır. Bilgisayar usb bellekten başlatılarak grub ekranında Windows kurulumu seçilir ve Windows kurulur.
4348

44-
Windows kurulumu tamamlandıktan sonra grub yerine Windows'un kendi başlatıcısı yüklenecektir. Diskteki linux dağıtımlarına ulaşabilmek için grub yeniden kurulmalıdır. Bunun için bilgisayar usb bellekten başlatılarak grub ekranında Diskteki işletim sistemini başlat seçeneği seçilir ve yüklü olan linux dağıtımı açılır. Sürekli bellekten başlatmamak için bu diske grub tekrardan kurulur.
49+
Windows kurulumu tamamlandıktan sonra grub yerine Windows'un kendi başlatıcısı yüklenecektir. Diskteki linux dağıtımlarına ulaşabilmek için grub yeniden kurulmalıdır. Bunun için bilgisayar usb bellekten başlatılarak grub ekranından diskte yüklü olan bir linux dağıtımı seçilerek açılır. Sürekli usb bellekten başlatmamak için bu diske grub tekrardan kurulur.
4550
```
46-
sudo bootableusb --repairGrub /dev/sda
51+
sudo bootableusb --repairGrub /dev/sdY
4752
```
4853

4954
### Ubuntu yanına başka bir linux dağıtımı kurma
5055

51-
Eğer daha önce yazılım hiç çalıştırılmadıysa ya da belleğin yapısı bozulduysa önce bellek hazırlığı yapılır.
56+
Eğer daha önce yazılım hiç çalıştırılmadıysa ya da usb belleğin yapısı bozulduysa önce hazırlık yapılır.
57+
**Dikkat:** Aygıt içerisinde bulunan tüm veriler silinecektir.
5258
```
53-
sudo bootableusb --prepare /dev/sdb
59+
sudo bootableusb --prepare /dev/sdX
5460
```
5561

5662
Daha sonra kurulacak dağıtımın kalıp dosyası usb belleğe linux.iso ismiyle kopyalanır ve bilgisayar usb bellekten başlatılır. Grub ekranından Linux kalıbından başlatma seçilerek devam edilir.
@@ -61,15 +67,18 @@ Yukarıdaki adımlar ile gerçekleştirilir.
6167

6268
## Seçenekler
6369

70+
```
6471
bootableusb [SEÇENEKLER]... AYGIT
6572
66-
AYGIT: Genellikle /dev/sdb, /dev/sdc gibi /dev/sdX biçiminde usb belleği gösteren aygıt adı
73+
AYGIT: Genellikle /dev/sdb, /dev/sdc gibi /dev/sdX biçiminde usb belleği gösteren aygıt adı. bootableusb --listDevices komutuyla bağlı aygıtlar listelenip ilgili aygıt adı öğrenilir.
6774
6875
--prepare:
6976
Usb belleği biçimlendirir ve grubu kurar.
77+
Dikkat: Aygıt içerisinde bulunan tüm veriler silinecektir.
7078
7179
--format:
7280
Usb belleği biçimlendirir.
81+
Dikkat: Aygıt içerisinde bulunan tüm veriler silinecektir.
7382
7483
--installGrub:
7584
Eğer usb belleğin yapısı uygunsa grubu kurar.
@@ -84,17 +93,18 @@ AYGIT: Genellikle /dev/sdb, /dev/sdc gibi /dev/sdX biçiminde usb belleği göst
8493
Disk üzerindeki silinen / bozulan grubu tamir eder.
8594
8695
87-
-h, --help:
88-
Yardım dosyasını görüntüler
89-
9096
-v, --verbose:
9197
Her adımda ne yapıldığını açıklar.
9298
99+
-h, --help:
100+
Yardım dosyasını görüntüler
101+
93102
--version:
94103
Sürüm bilgisini gösterir.
95104
96105
--listDevices:
97106
Bilgisayara bağlı olan aygıtları listeler.
107+
```
98108

99109
## Notlar
100110
https://github.com/slacka/WinUSB projesindeki bazı kodlar kullanılmıştır.

bootableusb

Lines changed: 80 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
# =================================================================
4-
# BootableUSB v0.1
4+
# BootableUSB v0.1.1
55
#
66
# @link https://github.com/bugra9/BootableUSB
77
# @author bugra9 https://github.com/bugra9
@@ -17,18 +17,23 @@
1717
function displayHelp() {
1818
echo "
1919
============================================
20-
bootableusb - Önyüklemeli USB sürücü oluştur
20+
bootableusb - Ön yüklemeli USB sürücü oluştur
2121
22-
Sürükle bırak yöntemiyle önyüklemeli usb sürücü oluşturur.
22+
Sürükle bırak yöntemiyle kullanılabilir ön yüklemeli usb sürücü oluşturur.
2323
Fat32 dosya sistemi türünü destekleyen her işletim sisteminde çalışır.
2424
============================================
2525
2626
bootableusb [SEÇENEKLER]... AYGIT
2727
28-
AYGIT: Genellikle /dev/sdb, /dev/sdc gibi /dev/sdX biçiminde usb belleği gösteren aygıt adı
28+
AYGIT: Genellikle /dev/sdb, /dev/sdc gibi /dev/sdX biçiminde usb belleği gösteren aygıt adı. bootableusb --listDevices komutuyla bağlı aygıtlar listelenip ilgili aygıt adı öğrenilir.
2929
3030
--prepare:
3131
Usb belleği biçimlendirir ve grubu kurar.
32+
Dikkat: Aygıt içerisinde bulunan tüm veriler silinecektir.
33+
34+
--format:
35+
Usb belleği biçimlendirir.
36+
Dikkat: Aygıt içerisinde bulunan tüm veriler silinecektir.
3237
3338
--installGrub:
3439
Eğer usb belleğin yapısı uygunsa grubu kurar.
@@ -43,12 +48,12 @@ AYGIT: Genellikle /dev/sdb, /dev/sdc gibi /dev/sdX biçiminde usb belleği göst
4348
Disk üzerindeki silinen / bozulan grubu tamir eder.
4449
4550
46-
-h, --help:
47-
Yardım dosyasını görüntüler
48-
4951
-v, --verbose:
5052
Her adımda ne yapıldığını açıklar.
5153
54+
-h, --help:
55+
Yardım dosyasını görüntüler
56+
5257
--version:
5358
Sürüm bilgisini gösterir.
5459
@@ -59,7 +64,7 @@ AYGIT: Genellikle /dev/sdb, /dev/sdc gibi /dev/sdX biçiminde usb belleği göst
5964

6065
# Yazılım sürümünü yazdırır.
6166
function displayVersion() {
62-
echo "bootableusb v0.1"
67+
echo "bootableusb v0.1.1"
6368
}
6469

6570
# Bilgisayara bağlı aygıtları listeler.
@@ -125,14 +130,6 @@ function load_video {
125130
insmod video_cirrus
126131
fi
127132
}
128-
function gfxmode {
129-
set gfxpayload=\"\${1}\"
130-
if [ \"\${1}\" = \"keep\" ]; then
131-
set vt_handoff=vt.handoff=7
132-
else
133-
set vt_handoff=
134-
fi
135-
}
136133
137134
if [ x\$feature_default_font_path = xy ] ; then
138135
font=unicode
@@ -155,46 +152,100 @@ menuentry \"Windows Kurulumu\" {
155152
boot
156153
}
157154
submenu \"Linux Kalıbından Başlat\" {
158-
menuentry \"Ubuntu 64 Bit ISO\" {
155+
menuentry \"GParted\" {
156+
set isofile=\"/linux.iso\"
157+
loopback loop \$isofile
158+
linux (loop)/live/vmlinuz boot=live union=overlay username=user config components quiet noswap noeject toram=filesystem.squashfs ip= nosplash findiso=\$isofile
159+
initrd (loop)/live/initrd.img
160+
}
161+
menuentry \"SystemRescueCD\" {
162+
set isofile=\"/linux.iso\"
163+
loopback loop \$isofile
164+
linux (loop)/isolinux/rescue64 isoloop=\$isofile
165+
initrd (loop)/isolinux/initram.igz
166+
}
167+
menuentry \"Ubuntu 64 Bit\" {
159168
set isofile=\"/linux.iso\"
160169
loopback loop \$isofile
161170
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=\$isofile quiet splash noprompt noeject
162171
initrd (loop)/casper/initrd.lz
163172
}
164-
menuentry \"Ubuntu 32 Bit ISO\" {
173+
menuentry \"Ubuntu 64 Bit - Bellekten (RAM) Başlatma\" {
174+
set isofile=\"/linux.iso\"
175+
loopback loop \$isofile
176+
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=\$isofile quiet splash noprompt noeject toram
177+
initrd (loop)/casper/initrd.lz
178+
}
179+
menuentry \"Ubuntu 32 Bit\" {
165180
set isofile=\"/linux.iso\"
166181
loopback loop \$isofile
167182
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=\$isofile quiet splash noprompt noeject
168183
initrd (loop)/casper/initrd.lz
169184
}
170-
menuentry \"Arch Linux ISO\" {
185+
menuentry \"Arch Linux\" {
171186
set isofile=\"/linux.iso\"
172187
loopback loop \$isofile
173188
linux (loop)/arch/boot/x86_64/vmlinuz archisodevice=/dev/loop0 img_dev=\$imgdevpath img_loop=\$isofile earlymodules=loop
174189
initrd (loop)/arch/boot/x86_64/archiso.img
175190
}
176-
menuentry \"Linux Mint ISO\" {
191+
menuentry \"Debian\" {
177192
set isofile=\"/linux.iso\"
178193
loopback loop \$isofile
179-
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=\$isofile noeject noprompt
194+
linux (loop)/live/vmlinuz boot=live config fromiso=/dev/sdb2/\$isofile
195+
initrd (loop)/live/initrd.img
196+
}
197+
menuentry \"Elementary OS\" {
198+
set isofile=\"/linux.iso\"
199+
loopback loop \$isofile
200+
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=\$isofile
180201
initrd (loop)/casper/initrd.lz
181202
}
182-
menuentry \"Debian ISO\" {
203+
menuentry \"Fedora\" {
183204
set isofile=\"/linux.iso\"
184205
loopback loop \$isofile
185-
linux (loop)/live/vmlinuz boot=live config fromiso=/dev/sdb2/\$isofile
206+
linux (loop)/isolinux/vmlinuz root=live:CDLABEL=Fedora-WS-Live-24-1-2 iso-scan/filename=\$isofile rd.live.image quiet
207+
initrd (loop)/isolinux/initrd.img
208+
}
209+
menuentry \"Gentoo\" {
210+
set isofile=\"/linux.iso\"
211+
loopback loop \$isofile
212+
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
213+
initrd (loop)/isolinux/gentoo.xz
214+
}
215+
menuentry \"Kali Linux\" {
216+
set isofile=\"/linux.iso\"
217+
loopback loop \$isofile
218+
linux (loop)/live/vmlinuz boot=live findiso=\$isofile noconfig=sudo username=root hostname=kali
186219
initrd (loop)/live/initrd.img
187220
}
188-
menuentry \"SystemRescueCD ISO\" {
221+
menuentry \"Linux Mint\" {
189222
set isofile=\"/linux.iso\"
190223
loopback loop \$isofile
191-
linux (loop)/isolinux/rescue64 isoloop=\$isofile
192-
initrd (loop)/isolinux/initram.igz
224+
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=\$isofile noeject noprompt
225+
initrd (loop)/casper/initrd.lz
226+
}
227+
menuentry \"OpenSUSE Canlı\" {
228+
set isofile=\"/linux.iso\"
229+
loopback loop \$isofile
230+
set imgdevpath=\"/dev/disk/by-uuid/$uuid\"
231+
linux (loop)/boot/x86_64/loader/linux isofrom_device=\$imgdevpath isofrom_system=\$isofile LANG=en_US.UTF-8
232+
initrd (loop)/boot/x86_64/loader/initrd
233+
}
234+
menuentry \"OpenSUSE Kurulum\" {
235+
set isofile=\"/linux.iso\"
236+
loopback loop \$isofile
237+
linux (loop)/boot/x86_64/loader/linux install=hd:\$isofile
238+
initrd (loop)/boot/x86_64/loader/initrd
239+
}
240+
menuentry \"Tails\" {
241+
set isofile=\"/linux.iso\"
242+
loopback loop \$isofile
243+
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
244+
initrd (loop)/live/initrd2.img
193245
}
194246
}
195-
submenu \"Diskteki Grubu Aç\" {" > "$cfgPath"
247+
" > "$cfgPath"
196248
awk '/### BEGIN \/etc\/grub.d\/10_linux ###/,/### END \/etc\/grub.d\/10_linux ###/' /boot/grub/grub.cfg >> "$cfgPath"
197-
echo "}" >> "$cfgPath"
198249
}
199250

200251
# /dev/sdX biçiminde belirtilen aygıtı sisteme bağlar.
@@ -314,6 +365,7 @@ function extract() {
314365
# Diskteki grubu onarır.
315366
function repairGrub() {
316367
echo "Grub onarılıyor..."
368+
grub-install $device
317369
}
318370

319371
# Verilen parametrelere göre çalışma hazırlığını yapar.

0 commit comments

Comments
 (0)