Ubuntu – Questions about bootable USB stick (Ubuntu) on Windows

bootlive-usbusb

When I create a bootable USB stick (Ubuntu) on Windows, does it mean that the changes that I will do (let's say save a new file called "abc.txt" on the Ubuntu desktop) will those changes be reflected the next time I boot this USB on some other computer (I will see the file "abc.txt" on the Ubuntu desktop)?

Next one might be a pretty stupid question but here it is:

Will it use the computer's RAM or use the space left on the USB as RAM.

Thanks

Best Answer

That's extremely easy if you use the following set-up:

  1. Use your existing bootable USB stick to install Ubuntu on an SLC USB stick (USB 3.0 preferred if your hardware supports it) Just a normal install, treating the USB stick as an SSD.

    Why? The SLCs are twice as expensive as the MLCs but they are 4 times faster and last 8* longer! So they really are small SSDs on a stick!

  2. Reboot from the USB and optimize the system and treat the USB stick as a small SSD, so:

    In your /etc/sysctl.conf add:

    # Fabby: change the "swappiness" to 10 to prevent swapping as much as possible
    # to not wear out the USB stick as the Ubuntu default is optimized for a server.
    # 10 to balance with vfs_cache_pressure
    vm.swappiness = 10
    
    # Fabby: Lower vfs_cache_pressure to 75% 
    # (once cached, probably not immediately needed any more)
    #
    # This percentage value controls the tendency of the kernel to reclaim
    # the memory which is used for caching of directory and inode objects.
    #
    # At the default value of vfs_cache_pressure=100 the kernel will attempt to
    # reclaim dentries and inodes at a "fair" rate with respect to pagecache and
    # swapcache reclaim.  Decreasing vfs_cache_pressure causes the kernel to prefer
    # to retain dentry and inode caches.
    vm.vfs_cache_pressure = 75
    
    # Fabby: Good to improve sequential reads (stop stuttering in movie play)
    # Can also be implemented per disk using udev rules
    vm.max-readahead=2048
    vm.min-readahead=1024
    

    In your /etc/fstab add the bold paramaters to your boot USB line. (It'll probably be sdc or sdd. The below is an example, use UID if possible)

    /dev/sdc / ext4 defaults,noatime,discard,errors=remount-ro 0 1

Done! :-)

For the record: I have a 16GB USB 2.0 SLC stick just like this (more then enough for my use-case and not too expensive and it's about 5 years old now and still running!)