2014-04-02

原來在Linux做硬碟安裝 Windows 這樣簡單

原來在 Linux 做硬碟安裝 Windows 這樣簡單,只要將光碟中的檔案拷背至 NTFS 磁區根目錄,在用指令產生新的 Grub2 開機選單,就能在開機選單切換到 Windows 安裝程式,這樣安裝系統我想會快多了。

首先請先切割一塊NTFS磁區存放安裝程式

切割工具
Gnome:gparted
KDE:partitionmanager
指令:格式化存儲裝置成為 NTFS - FlossDoc

接著將ISO掛載起來或者用直接用CD跳過這步驟
sudo mkidr /media/wiso
sudo mount -o loop /you/path/isoname /media/wiso


再來用ntfs-3g掛載NTFS(網上很多教學,記得要將寫入權限開起),掛載後將 /media/wiso 所有檔案拷背進去

cp /media/wiso/* /you/ntfs path/

最後產生新的 Grub 開機選單即可

sudo grub-mkconfig  -o /boot/grub/grub.cfg
或:
update-grub

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initramfs image: /boot/initramfs-linux.img
Found fallback initramfs image: /boot/initramfs-linux-fallback.img
Found linux image: /boot/vmlinuz-linux-ck
Found initramfs image: /boot/initramfs-linux-ck.img
Found fallback initramfs image: /boot/initramfs-linux-ck-fallback.img
Found linux image: /boot/vmlinuz-linux-ck
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found Windows 7 (loader) on /dev/sda2
Found Windows Recovery Environment (loader) on /dev/sda4
done

如果 Grub 找不到你的 Windows 記得裝一下 os-prober 再新執行上一步。

名稱   : os-prober
描述   : Utility to detect other OSes on a set of drives

最後在參考資料附上其它直接讀取 Linux ISO 的安裝方式

2014-03-12

簡繁互轉:批次更改資料夾及檔案名稱

Linux找不到我需要的簡轉繁批次更改資料夾及檔案名稱這種功能的程式,想說簡繁互轉有opencc能用,在來就是用zsh寫個shell script應該不會很難才是。

初步很簡單就寫好了,可是,我忽略了資料夾遇到了有多層目錄的結構,前面的名稱改了但讀進的資料不能跟著改不然會出錯。

帅哥/刚才/叫我吗 要修改成 帥哥/剛才/叫我嗎,修改順序為第一層 帅哥/帥哥,出現錯誤在第二層中他是讀到舊的 帅哥/刚才 ,但是 帅哥 已經變成繁體字的 帥哥,那麼接下來的結構都會出現錯誤。

今過幾天思考到底要怎麼處理,結果給我想到了,我將有層次目錄結構分讀取資料分兩段讀取轉換,我用 dh 保留路徑的頭,dt保留路徑的尾巴,遇到這情形到第二層目錄先將 dh 轉為 ch讓他讀到繁體的,最後整體會變成 ch/ct這樣搬移時就沒問題了。


以下是我的原始碼大家研究一下囉,請記得要裝opencc即zsh呀否則無法正確執行;程式會自動轉換當前資料夾內所有子資料夾及檔案,所以請先切換到要目地在執行哦。

opencc 我是用 -c zhs2zhtw_vp.ini 簡體轉繁體,大陸的朋友要繁體轉簡體的話要用 -c zhtw2zhcn_s.ini 哦。

將原始碼存檔之後給執行權限執行即可。
#!/bin/zsh
test -e "conv.log" && rm "conv.log"
touch "conv.log"

for direct in **/*(/)
do
 dh="$direct:h"
 dt="$direct:t"
 ch="$(echo "$dh"|opencc -c zhs2zhtw_vp.ini)"
 ct="$(echo "$dt"|opencc -c zhs2zhtw_vp.ini)"
 if [ "$dt" != "$ct" ]
 then
  if [ "$dh" != "." ]
  then
   echo  "$dh/$dt" "$ch/$ct" >> "conv.log"
   mv "$ch/$dt"  "$ch/$ct"
  else
   echo  "$dt" "$ct"  >> "conv.log"
   mv "$dt" "$ct"
  fi
 fi
done
for files in **/*(.)
do
 convfile="$(echo "$files" | opencc -c zhs2zhtw_vp.ini)"
 if [ "$files" != "$convfile" ]
 then
  echo "$files" "$convfile" >> "conv.log"
  mv "$files" "$convfile"
 fi
done

最後附上我實際轉換過程的log 有興趣的可以下載回去看一下。

Firefox.v26後有在用userChromeJS記得更新userChrome.js

忘了Firefox26、27開始,我的偏好設定內的分頁都固定在那無法調整,在網址列按☆號加入書籤按兩下不會彈出修改內容的小視窗,經過努力不懈我不會說我套件裝超多的情況下終於抓到是userChromeJS的問題。

但是userChromeJS好久以前就沒更新了,就在今天找其它的腳本發現只要將userChrome-26.js抓下替換userChrome.js以上的問題就解決了。

"userChrome-26.js,適合 FF26,在24下會讓 xul 的腳本沒法加載。"
https://github.com/ywzhaiqi/userChromeJS/blob/master/userChrome-26.js

如果你需要一些userChromeJS的腳本也可以到ywzhaiqi挖寶哦。